kschan0214 / sepia

Matlab GUI pipeline application for quantitative susceptibility mapping (QSM)
MIT License
46 stars 10 forks source link

Start button not working/not available #7

Closed hippocampo closed 4 years ago

hippocampo commented 4 years ago

Hi Kwok, Thanks for building a great and very helpful QSM utility; as a beginner to QSM it's really helpful to have these sorts of GUI-based programs and your terrific walkthroughs to get started.

Using SEPIA I was able to create an SWI image from my data. However, when I try to run the whole Sepia (one-stop) pipeline, I click on the "run" button but nothing happens. I'm quite certain it has all the requisite data since it works for SWI. I've tried entering the phase, magnitude and header data separately as well but that doesn't seem to work. [I had the header units wrong initially.] Also, each of the other steps individually does not appear to have a start button at all (see attached).

I am probably doing something wrong, and hoping for your thoughts and assistance if possible! Thanks very much.

MacOS High Sierra Matlab 2020a No start button

kschan0214 commented 4 years ago

Thanks for moving the issue here!

I believe the problem is caused by missing the parallel computing toolbox license, as you encountered the following error message:

'gpuDeviceCount' requires Parallel Computing Toolbox.

Error in sepia (line 128)
if gpuDeviceCount > 0

The gpuDeviceCount function is available only with the parallel computing toolbox. Without the parallel computing toolbox, the SEPIA GUI encountered the error and subsequently stopped running (including generating the 'Start' button for other standalone applications).

There are two solutions to solve the issue:

  1. The first method is to install the parallel computing toolbox such that the missing function gpuDeviceCount will be available after the installation.

  2. The other method is to open the sepia.m file in an editor and replace the lines 128-130 in the file, i.e. Screenshot 2020-06-10 at 22 43 20 by the following script:

    % if gpuDeviceCount > 0
    %    set(h.checkbox_gpu, 'Enable', 'on');
    % end

    in Matlab editor it should look like: Screenshot 2020-06-10 at 22 57 47

which is basically comment out (or remove) lines 128-130 such that the gpuDeviceCount function will not be used. This modification will have no effect on the QSM pipeline processing as the GPU compatibility of SEPIA is currently deprecated.

This issue will be fixed in the next release of SEPIA (v0.8.0), which is coming later this month.

Please let me know if the above solutions solve the issue.

hippocampo commented 4 years ago

Yes, that did it. Thank you Kwok! Looking forward to the next release as well.