qMRLab
qMRLab copied to clipboard
Computing B1+ Fails
So I cannot compute the B1+ map for my T1 batch. I'm using these two files (FA = 35 and 70 degrees, respectively) as per the method. What I get is precisely this:
=============== qMRLab::Fit ======================
Operation has been started: b1_dam
Array dimensions must match for binary array op.
Error in b1_dam/fit (line 83)
FitResult.B1map_raw =
abs(acos(data.SF2alpha./(2*data.SFalpha))./(deg2rad(obj.Prot.Alpha.Mat)));
Error in FitData (line 260)
Fit = Model.fit(data);
Error in qMRLab>FitGo_FitData (line 406)
FitResults = FitData(data,Model,1);
Error in qMRLab>FitGO_Callback (line 388)
FitGo_FitData(hObject, eventdata, handles);
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in qMRLab (line 41)
gui_mainfcn(gui_State, varargin{:});
Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)qMRLab('FitGO_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback.
Could you guys please shed some light onto what's going on? The outcome is really important.
@agahkarakuzu Have just attempted this using version 2.4.2.; the output hasn't changed. Manually loading the images reveals they are identical arrays:
ans =
1×3 imtool3D array with properties:
windowSpeed
upsample
upsampleMethod
Visible
brushsize
rescaleFactor
I have no way to piece together what is going on without knowing the steps you are following.
- Please use bullet points
- to guide us through the steps you follow
- so that we can identify the issue and help you.
I have no way to piece together what is going on without knowing the steps you are following.
* Please use bullet points * to guide us through the steps you follow * so that we can identify the issue and help you.
Pardonne-moi sauvage :( Here's what I did:
- Took the VFA T1 data I had (images acquired at 35 and 70 degrees, respectively), loaded them into qMRLab manually (drag-and-drop), and obtained this:
ans =
1×3 imtool3D array with properties:
windowSpeed
upsample
upsampleMethod
Visible
brushsize
rescaleFactor
- Tried to compute the B1+ map using qMRLab's GUI, and got the following output (both in 2.4.1 and 2.4.2):
=============== qMRLab::Fit ======================
Operation has been started: b1_dam
Array dimensions must match for binary array op.
Error in b1_dam/fit (line 83)
FitResult.B1map_raw =
abs(acos(data.SF2alpha./(2*data.SFalpha))./(deg2rad(obj.Prot.Alpha.Mat)));
Error in FitData (line 260)
Fit = Model.fit(data);
Error in qMRLab>FitGo_FitData (line 406)
FitResults = FitData(data,Model,1);
Error in qMRLab>FitGO_Callback (line 388)
FitGo_FitData(hObject, eventdata, handles);
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in qMRLab (line 41)
gui_mainfcn(gui_State, varargin{:});
Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)qMRLab('FitGO_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback.
Took the VFA T1 data I had
Are you trying to fit a T1 map, or a B1 map?
If you read the documentation for double angle B1 mapping you will see that you need to provide images separately to calculate a B1+ map.
It should be also obvious from the GUI:
Please use blue ➕ button to load data in respective fields. When you drag and drop, there is not a robust way to infer in which variable to load that data.
The error above shows that you are trying to fit B1 after concatenating data. This is not expected by b1_dam
.
Are you trying to fit a T1 map, or a B1 map?
If you read the documentation for double angle B1 mapping you will see that you need to provide images separately to calculate a B1+ map. It should be also obvious from the GUI:
Please use blue heavy_plus_sign button to load data in respective fields. When you drag and drop, there is not a robust way to infer in which variable to load that data.
Yet that's exactly what I did: I loaded the 35-degree image as SFalpha, and the 70-degree one as SF2alpha, as per the method. I didn't drag-and-drop the files onto MATLAB's Command Window until after the error had already occurred. Basically, I did it just to see if the images indeed presented two different arrays.
Are you trying to fit a T1 map, or a B1 map?
I'm trying to calculate a B1+ map to load it into the T1 fitting routine.
The error above shows that you are trying to fit B1 after concatenating data. This is not expected by b1_dam.
I'm not sure I follow. The images I used were two separate images, but I'll double-check it now.
It should be like this. Make sure that the order of alpha/2alpha order is correct and provide alpha only.
I'm not sure I follow.
You mentioned fslmerge, then edited your question. It was there at the time I saw it, so that's why.
It should be like this. Make sure that the order of alpha/2alpha order is correct and provide alpha only.
I'm not sure I follow.
You mentioned fslmerge, then edited your question. It was there at the time I saw it, so that's why.
Sorry :( I guess it's getting late over here. Pasted it and didn't notice it soon enough.
No worries. With only one FA (lower FA) set in the protocol panel as the screenshot above shows, you should be able to get an output.
No worries. With only one FA (lower FA) set in the protocol panel as the screenshot above shows, you should be able to get an output.
Thanks! I think the problem was that I had made a mistake naming one of the files; namely, the 35 degree image was, in fact, a 30-degree one (checked the corresponding original DICOM). So now, I don't seem to have a 2alpha to proceed with :( The sequence is as follows: 2,3,5,20,30,70,85. I did have a 10-degree batch, but I think it was damaged somehow, and the method works best with higher angles anyway. May you please take a look still?
If you can make it work, I guess the rest is up to how you are setting up your imaging protocol, sequence choice and all.
Unless there are other issues concerning the use of qmrlab, feel free to close the issue.
Thanks for reaching out!
If you can make it work, I guess the rest is up to how you are setting up your imaging protocol, sequence choice and all.
Unless there are other issues concerning the use of qmrlab, feel free to close the issue.
Thanks for reaching out!
Got it! I'll try it a few more times and close the issue if it works.