Forum

Notifications
Clear all

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 1.979704e-16.


Rowan Brooks
Posts: 14
Registered
Topic starter
(@brooksr)
Joined: 3 months ago

Hi Everyone,

 

I have a single experimental session, utilising 4 cognitive tasks. I've segmented the original data file into 4 separate runs (by tasks) to make analysis easier (I am using block average not GLM). I seem to be fine with all but one of the runs. The first run is a baseline task composed of a single trial (well a block actually). There is an event several seconds in to the run and all I'm aiming to do is to obtain the HRF during this rest period. I understand I'm essentially not averaging anything (as there is just one stimulus or block in this case). I remember someone mentioning this scaling problem with reference to GLM, but I thought if you are using a block average 1 condition is OK?

 

Any help would be appreciate 

 

Thanks 

 

Rowan

 

7 Replies
David Boas
Posts: 121
Registered
(@dboas)
Joined: 1 year ago

This warning happens with GLM not block average. Please share a screen shot of your processing options. You must be doing a GLM

 

Reply
1 Reply
Rowan Brooks
Registered
(@brooksr)
Joined: 3 months ago

Posts: 14

@dboas Hi David, thanks for getting back to me 

GLM is not in the processing stream options, only block average is. However I am using recursive tPCA, can that create this type of error? 

Thanks 

Rowan

Reply
David Boas
Posts: 121
Registered
(@dboas)
Joined: 1 year ago

I really don't see how it can come from recursive tPCA. It must be the GLM function. Share a screen shot of the processing functions. And maybe share your cfg file for the processing options.

Reply
1 Reply
Rowan Brooks
Registered
(@brooksr)
Joined: 3 months ago

Posts: 14

@dboas Hi David

I've attached the processing stream, ctg file,  and a screenshot the error message and homerGUI 

I can't seem to attached more than 1 files so I have zipped them

Thanks 

 

Rowan

Reply
David Boas
Posts: 121
Registered
(@dboas)
Joined: 1 year ago

Thanks for sharing the full warning message. The full message tells us which function is causing the warning. I should have asked for this in the first place. The message is generated by the filtfilt() function called in the hmrR_bandpassFilt() function. I haven't seen that before.

You set your bandpass filter to 0.01 to 0.1 Hz. I suggest changing 0.1 to 0.5 or even 3 Hz. That might stabilize the bandpass filter.

Reply
1 Reply
Rowan Brooks
Registered
(@brooksr)
Joined: 3 months ago

Posts: 14

@dboas Hi David,

 

Thanks a lot for that I will try it out and let you know if it doesn't work. I hope you don't mind but I just have another couple of short questions that you may be able to help out with 

1) In a previous thread it was mentioned that the HRF is exported in M units (with a factor of 1e6 between what UM that is displayed in the HRF homerGUI). Am I correct in assuming I can multiply the exported data by a million and this will give me the correct units? 

2) I am finding that on occasion using the recursive tPCA can actually lead to an increase in periods flagged as motion (opposed to not using it). Are there instances where motion correction can actually cause this? If so would you recommend any other motion correction methods (that work well with noisy data)

3) When considering the concentration values (in UM) what would you consider typical activation values? (i.e. It has been suggested by people I work with that  average values over 3.0UM should be excluded because they are too high to be considered true hemodynamic activation). 

 

Thanks 

 

Rowan

Reply
Meryem Yücel
Posts: 81
Moderator
(@mayucel)
Joined: 1 year ago

@brooksr

1) Multiplying by 1e6 would give you uM units 

2) It is atypical that a motion correction method would create a motion artifact. Would be good to see a concrete example along with the cfg file. 

3) Hb output amplitude can vary depending on whether you did a pathlength correction or not (uncorrected values are for instance 180 larger than corrected ones for a 30 mm channel) or whether there is regression in GLM (short separation regression will typically lower the values).

Reply
Share: