Structural data for GE

Hi, I wonder why the structural data for GE has to be put in as DICOM, not nifti? It would be much more convenient to use the nifti format but maybe there is some problems with that for GE data? Do you expect this to be changed in the future?
Can you also tell me exactly what the anonymize function does? Does it anonymize the data in the container or does it work on the input datasets?
Thanks for a nice software,
/Greger

Hi Greger,

We recently included an upgrade (thankfully submitted by a user, which was awesome to see) that should work with GE NIfTI data as well.

The DeIdentify button is currently un-used, but will point to functions that actually remove PHI from the data itself, not the container. You can find the standalone de-identification scripts in the Gannet repository.

Best,
Georg

Great news!

So it is no longer necessary to include the Dicom directory in the jobfile, just the nifti file? From which version (date) was this included?
This will make the Deidentify issue obsolete, since the nifty file is already pseudonymized.

Thanks,
Greger

Hi Georg,
I have downloaded osprey-develop from October and in that version I can specify nifty instead of dicom. So far so good, but the GUI seems to be broken in this version. There are one minor problem: the FWHM values in the plots of the processed spectra seems to be wrongly scaled. The bigger problem is that Osprey fails in the Quantify step and that gives a cascade of wrong behaviour for the Overview. I have uploaded two PowerPoint presentations with several screenshots to show the errors in the Oct version in comparison of the Aug version.
I have also noted another thing which is common to all Osprey versions, the FWHM of spectra B in MEGA always seems to be reported much larger than that in A. However, if I look at the spectra this doesn’t seem to be the case. This is also highlighted in the presentations.
Thanks again for your efforts to create a great tool,
/Greger

OspreyAugVersion.pdf (2.1 MB) ProblemsInOctVersionOfOsprey.pdf (2.2 MB)

1 Like

Hi Greger,
Thanks for your report.

With regards to the FWHM values, we did recently change the FWHM value in the MRSCont from ppm to Hz and I did not update the visualization. I will upload a fix for this as soon as I’ve solved the other issues. The reason why the FWHM values for each subspectrum seems to be different (apart from the current miscalculations) is that it is calculated for the same metabolite as the SNR. For example, for the OFF spectrum, SNR and FWHM are calculated for NAA, while for the ON spectra it is creatine. I’ve clarified this in the GUI. In the QM measure .csv file it is always NAA from the OFF spectrum.

I’ve created a fix for the plots/popup menu not being updated in the Overview tab.

I’d like to reproduce your issues with the wrong slice being picked for the GE Nifti anatomical and also the cascade of errors after quantification. Could you share the corresponding spectra, nifti, and jobFile with me (hzoelln2@jhmi.edu)?

Thanks,
Helge

1 Like

Hi Greger,

Thanks for sharing your data. I’ve just pushed an update on GitHub, which should solve the reported issues. Let me know, if this works for you.

Do you mind if we share your basis set simulation for GE MP 80 ms on our Osprey repository?

Best,
Helge
P04608_OspreyCoregSeg.pdf (567.7 KB)

Hi Helge,

Thanks for the update, I have tried with several datasets and it works, but there are multiple warnings coming up in the MATLAB command window. It seems to be from osp_plotProcess and from fit_makeSplineBasis, see below. But the GUI works fine despite these warnings.

There is another thing that I forgot to mention before and perhaps it should go into a separate topic. When I’m using the GUI it keeps removing the path to SPM, even though it needs it in later steps of the analysis. I know that Georg has mentioned removing/adding SPM path as a workaround for a problem of similarly named functions but there seems to be missing some addpath commands in the code, since it will fault with a message that it cannot find the spm command. I then add the SPM path and it will be able to continue. Not a critical bug, but very annoying.

/Greger

Warnings when clicking Processed:
Warning: Imaginary parts of complex X and/or Y arguments ignored.

In osp_plotProcess (line 588)
In osp_updateProWindow (line 57)
In osp_SelectionChangedFcn (line 136)
In uix/TabPanel/onSelectionChanged (line 850)
In uix.TabPanel>@(varargin)obj.onSelectionChanged(varargin{:}) (line 92)
In uix/TabPanel/onTabClicked (line 827)
In uix.TabPanel>@(varargin)obj.onTabClicked(varargin{:}) (line 610)

Warnings when clicking LC Model:
Warning: Integer operands are required for colon operator when used
as index.

In fit_makeSplineBasis (line 99)
In fit_OspreyParamsToModel (line 69)
In osp_plotFit (line 193)
In osp_updateFitWindow (line 110)
In osp_SelectionChangedFcn (line 142)
In uix/TabPanel/onSelectionChanged (line 850)
In uix.TabPanel>@(varargin)obj.onSelectionChanged(varargin{:})
(line 92)
In uix/TabPanel/onTabClicked (line 827)
In uix.TabPanel>@(varargin)obj.onTabClicked(varargin{:}) (line

Hi again,

I forgot your request. Yes you can post the basis set for 80ms TE. It is simulated in FID-A using actual waveforms for the macromolecule supressed MEGA-PRESS pulse sequence on our GE MR750 scanner.

/Greger

Hi Helge,
Sorry to bother you again but I’m having new troubles with the GUI. I tried to make a fit to concatenated data with the same dataset that I sent you earlier, just changing the fit style to Concatenated in the job file. It did perform the fit but crashed upon updating the GUI. I have placed the GUI window and the error text in the uploaded pdf.
/Greger
ConcatError.pdf (494.9 KB)

Hi Greger,
thanks for your report and sorry for the new hiccups. It is well appreciated, as we need all the feedback to move Osprey forward.

The SPM path should be re-integrated fine now and the process window warning is resolved.

With regards to the splineBaseline warning, I did integrate a ‘ugly’ warning removal in front of the corresponding lines, because I did not come up with a ‘real’ solution for the warning.

The other GUI crash was due to a premature upload of a future Multivoxel feature, which is not integrated in the GUI yet.

Let me know if this works for you,
Helge

Hi Helge,
It works perfect now, thanks a lot for the super-quick response.
/Greger

1 Like