Dear experts:
Hello, I have a problem when I want to get Temporal Sorting Components. My data has two runs, and each run has 120 scans. The nscan of the SPM.mat shows [120,120]. But when I use these two runs to do ICA, the diffTimePoint shows 240, when I use one run, it shows 120. So I wonder how to match these two files? I will be sincerely grateful to receive your reply, thank you.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think I haven't describe my question clearly, because there are 30 participants, and I make a group level ICA, so the diffTimePoints is a matrix:1x30 double, and each element here is 240. The nscan of the SPM.mat shows [120,120].
I'm looking forward to receive your reply!
Best regards!
Qingyuan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
When you select the data, you can select "no" for Is your data stored in one group directory? and select number of subjects and sessions. This will let you select files for each subject and session. Optionally you can use batch template icatb/icatb_batch_files/Input_spatial_ica.m and run batch script or gica_cmd tool (Instructions in the manual)
Thanks,
Srinivas
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear experts:
I'm so grateful to receive your prompt reply! I read the manual and change some parameters and directory path based on the Input_spatial_ica.m . I'd like to clarify something further:
Is the word "session" in your letter means "run"? Every subject has 2 runs so each subject has 2 sessions?
I am accustomed to choose "yes" for "Do you want to estimate the number of independent components?". If I write"doEstimation = 1",what about the "numOfPC1" and "numOfPC2"?
Should I select Semi-blind ICA algorithm and write the refFunNames if I want to do Temporal Sorting?
If I choose Semi-lind ICA, could I ignore the refFiles? (What I want to do is make a group ICA based on spatial information, then do Temporal Sorting.)
Looking forward to your reply, Thank you!
Best regards!
QingYuan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes run or session means the same when selecting data.
Estimation tool only gives an approximate number of components in the data. You can select slightly higher number for PC1 compared to PC2 like 40 for PC1 and 30 for PC2 assuming there are 40 timepoints or degrees of freedom in the data.
Yes refFunNames is used when doing semi blind ica. For temporal sort, you can click on the display GUI and select yes for temporal sort when the analysis is finished.
Yes refFiles is used for constrained ica or moo-icar algorithms. you can comment field refFiles or leave it as it is . Variable will not be used in the analysis.
Thanks,
Srinivas
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear experts:
Thank you for your answer, my problem about timporal sorting has been solved perfectly! But there are another question:
After finding the spacial components which correlate with design matrix, I need to label these component. Before I selected the RSN.zip in icatb_templates file as template, but now I can't use it, Matlab show that 'File "\icatbtemplates\RSN.zip" is not of a recognised type', how can I solve this?
Looking forward to your reply, Thank you!
Best regards!
QingYuan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Tried it on my end. Component labeler should work fine with RSN.zip file. 'File "\icatbtemplates\RSN.zip" path shows icatbtemplates instead of icatb_templates. Try fixing it if you are using command line.
Thanks,
Srinivas
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear expert:
I'm confused that what determines the number of row of the mask_ind in 'ica_parameter_info.mat'? All IC have same number of mask_ind, but the number is different between conditions. I have two group of subjects, which recept different conditions. Both groups of subjects were treated with group ICA. Now I find that in these two groups, the number of columns of ic matrix in 'icac1-1.mat'is different. Is there any way to make them the same?
Looking forward your reply, thank you!
Best regards!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Number of rows in mask_ind is from default mask or custom mask specified. This value should be the same across components unless you are running group ica for each group separately.
Thanks,
Srinivas
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear experts:
Sorry, I still have some problems about the mask_ind.
The mask of my preprocessed data is a .nii file, whose parameter is 617361, but the mask_ind that is generated by my data during ICA has 57549 voxels, which means there are 57549 values in each IC. Now I operate these IC(compSet.ic in ica_br.mat) to generate a new vector that has 57549 elements, and I want to create a .nii file based on it. How can I do this? I know this step needs the value of each voxel and a mask, but the mask which I can find has 617361 voxels, meanwhile I just have 57549 values.
By the way, I find a function in the Group ICA package, could I use this ?
function [tc, spatial_maps] = icatb_dual_regress(y, X)
%% Use dual regression approach to compute the spatial maps and time
% courses
%
% Inputs:
% 1. y - Observations in columns (Voxels by time points)
% 2. X - design matrix (Voxels by components)
%
% Outputs:
% 1. tc - Time courses (Timepoints by components)
% 2. spatial_maps - Spatial maps (Components by voxels)
%
%% First step. Fit model matrix to the data to get time courses.
X = icatb_remove_mean(X);
There is a default mask step in GIFT which removes voxels < mean value. If you want to specify a mask, you can use user specified mask.
By the way, I find a function in the Group ICA package, could I use this ?
BTW. There is an option to use spatial temporal regression in GIFT which does the same thing.
Dear experts:
Sorry, I still have some problems about the mask_ind.
The mask of my preprocessed data is a .nii file, whose parameter is 617361, but the mask_ind that is generated by my data during ICA has 57549 voxels, which means there are 57549 values in each IC. Now I operate these IC(compSet.ic in ica_br.mat) to generate a new vector that has 57549 elements, and I want to create a .nii file based on it. How can I do this? I know this step needs the value of each voxel and a mask, but the mask which I can find has 617361 voxels, meanwhile I just have 57549 values.
By the way, I find a function in the Group ICA package, could I use this ?
function [tc, spatial_maps] = icatb_dual_regress(y, X)
%% Use dual regression approach to compute the spatial maps and time
% courses
%
% Inputs:
% 1. y - Observations in columns (Voxels by time points)
% 2. X - design matrix (Voxels by components)
%
% Outputs:
% 1. tc - Time courses (Timepoints by components)
% 2. spatial_maps - Spatial maps (Components by voxels)
%
%% First step. Fit model matrix to the data to get time courses.
X = icatb_remove_mean(X);
CAUTION: This email was sent from someone outside of the university. Do not click links or open attachments unless you recognize the sender and know the content is safe.
There is a default mask step in GIFT which removes voxels < mean value. If you want to specify a mask, you can use user specified mask.
By the way, I find a function in the Group ICA package, could I use this ?
BTW. There is an option to use spatial temporal regression in GIFT which does the same thing.
Dear experts:
Sorry, I still have some problems about the mask_ind.
The mask of my preprocessed data is a .nii file, whose parameter is 617361, but the mask_ind that is generated by my data during ICA has 57549 voxels, which means there are 57549 values in each IC. Now I operate these IC(compSet.ic in ica_br.mat) to generate a new vector that has 57549 elements, and I want to create a .nii file based on it. How can I do this? I know this step needs the value of each voxel and a mask, but the mask which I can find has 617361 voxels, meanwhile I just have 57549 values.
By the way, I find a function in the Group ICA package, could I use this ?
function [tc, spatial_maps] = icatb_dual_regress(y, X)
%% Use dual regression approach to compute the spatial maps and time
% courses
%
% Inputs:
% 1. y - Observations in columns (Voxels by time points)
% 2. X - design matrix (Voxels by components)
%
% Outputs:
% 1. tc - Time courses (Timepoints by components)
% 2. spatial_maps - Spatial maps (Components by voxels)
%
%% First step. Fit model matrix to the data to get time courses.
X = icatb_remove_mean(X);
CAUTION: This email was sent from someone outside of the university. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Dear experts:
Hello, I have a problem when I want to get Temporal Sorting Components. My data has two runs, and each run has 120 scans. The nscan of the SPM.mat shows [120,120]. But when I use these two runs to do ICA, the diffTimePoint shows 240, when I use one run, it shows 120. So I wonder how to match these two files? I will be sincerely grateful to receive your reply, thank you.
I think I haven't describe my question clearly, because there are 30 participants, and I make a group level ICA, so the diffTimePoints is a matrix:1x30 double, and each element here is 240. The nscan of the SPM.mat shows [120,120].
I'm looking forward to receive your reply!
Best regards!
Qingyuan
Hi Qingyuan,
When you select the data, you can select "no" for Is your data stored in one group directory? and select number of subjects and sessions. This will let you select files for each subject and session. Optionally you can use batch template icatb/icatb_batch_files/Input_spatial_ica.m and run batch script or gica_cmd tool (Instructions in the manual)
Thanks,
Srinivas
Dear experts:
I'm so grateful to receive your prompt reply! I read the manual and change some parameters and directory path based on the Input_spatial_ica.m . I'd like to clarify something further:
Looking forward to your reply, Thank you!
Best regards!
QingYuan
Hi QingYuan,
Thanks,
Srinivas
Dear experts:
Thank you for your answer, my problem about timporal sorting has been solved perfectly! But there are another question:
After finding the spacial components which correlate with design matrix, I need to label these component. Before I selected the RSN.zip in icatb_templates file as template, but now I can't use it, Matlab show that 'File "\icatbtemplates\RSN.zip" is not of a recognised type', how can I solve this?
Looking forward to your reply, Thank you!
Best regards!
QingYuan
Hi QingYuan,
Tried it on my end. Component labeler should work fine with RSN.zip file. 'File "\icatbtemplates\RSN.zip" path shows icatbtemplates instead of icatb_templates. Try fixing it if you are using command line.
Thanks,
Srinivas
Dear experts:
That's useful, I've got what I want.
Thanks!
Best regards!
QingYuan
Dear expert:
I'm confused that what determines the number of row of the mask_ind in 'ica_parameter_info.mat'? All IC have same number of mask_ind, but the number is different between conditions. I have two group of subjects, which recept different conditions. Both groups of subjects were treated with group ICA. Now I find that in these two groups, the number of columns of ic matrix in 'icac1-1.mat'is different. Is there any way to make them the same?
Looking forward your reply, thank you!
Best regards!
Hi QingYuan,
Number of rows in mask_ind is from default mask or custom mask specified. This value should be the same across components unless you are running group ica for each group separately.
Thanks,
Srinivas
Dear experts:
Sorry, I still have some problems about the mask_ind.
The mask of my preprocessed data is a .nii file, whose parameter is 617361, but the mask_ind that is generated by my data during ICA has 57549 voxels, which means there are 57549 values in each IC. Now I operate these IC(compSet.ic in ica_br.mat) to generate a new vector that has 57549 elements, and I want to create a .nii file based on it. How can I do this? I know this step needs the value of each voxel and a mask, but the mask which I can find has 617361 voxels, meanwhile I just have 57549 values.
By the way, I find a function in the Group ICA package, could I use this ?
function [tc, spatial_maps] = icatb_dual_regress(y, X)
%% Use dual regression approach to compute the spatial maps and time
% courses
%
% Inputs:
% 1. y - Observations in columns (Voxels by time points)
% 2. X - design matrix (Voxels by components)
%
% Outputs:
% 1. tc - Time courses (Timepoints by components)
% 2. spatial_maps - Spatial maps (Components by voxels)
%
%% First step. Fit model matrix to the data to get time courses.
X = icatb_remove_mean(X);
tc = pinv(X)*icatb_remove_mean(y);
tc = tc';
clear X;
% Store mean of timecourses
mean_tc = mean(tc);
% Remove mean of timecourse
tc = icatb_remove_mean(tc);
Hi,
There is a default mask step in GIFT which removes voxels < mean value. If you want to specify a mask, you can use user specified mask.
Thanks,
Srinivas
From: QingYuan alannormal@users.sourceforge.net
Sent: Monday, August 16, 2021 6:17 AM
To: [icatb:discussion] 309910@discussion.icatb.p.re.sourceforge.net
Subject: [icatb:discussion] SPM design matrix doesn't match with the data
Dear experts:
Sorry, I still have some problems about the mask_ind.
The mask of my preprocessed data is a .nii file, whose parameter is 617361, but the mask_ind that is generated by my data during ICA has 57549 voxels, which means there are 57549 values in each IC. Now I operate these IC(compSet.ic in ica_br.mat) to generate a new vector that has 57549 elements, and I want to create a .nii file based on it. How can I do this? I know this step needs the value of each voxel and a mask, but the mask which I can find has 617361 voxels, meanwhile I just have 57549 values.
By the way, I find a function in the Group ICA package, could I use this ?
function [tc, spatial_maps] = icatb_dual_regress(y, X)
%% Use dual regression approach to compute the spatial maps and time
% courses
%
% Inputs:
% 1. y - Observations in columns (Voxels by time points)
% 2. X - design matrix (Voxels by components)
%
% Outputs:
% 1. tc - Time courses (Timepoints by components)
% 2. spatial_maps - Spatial maps (Components by voxels)
%
%% First step. Fit model matrix to the data to get time courses.
X = icatb_remove_mean(X);
tc = pinv(X)*icatb_remove_mean(y);
tc = tc';
clear X;
% Store mean of timecourses
mean_tc = mean(tc);
% Remove mean of timecourse
tc = icatb_remove_mean(tc);
Looking forward to your reply,thank you!
Best regards
SPM design matrix doesn't match with the datahttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceforge.net%2Fp%2Ficatb%2Fdiscussion%2F309910%2Fthread%2F1c827b4f3b%2F%3Flimit%3D25%23d31e&data=04%7C01%7Csrachakonda%40gsu.edu%7C01b4f3cfce24427a477e08d960afc583%7C515ad73d8d5e4169895c9789dc742a70%7C0%7C0%7C637647130329653676%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=HUJNddsq5cHlM7P7bCfO81pmxCKU3IINCSucCCL73R0%3D&reserved=0
Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/icatb/discussion/309910/https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceforge.net%2Fp%2Ficatb%2Fdiscussion%2F309910%2F&data=04%7C01%7Csrachakonda%40gsu.edu%7C01b4f3cfce24427a477e08d960afc583%7C515ad73d8d5e4169895c9789dc742a70%7C0%7C0%7C637647130329653676%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=%2BiT20aji3zg1EZ6e5DUxTUKk%2FGDx5Ck%2FS4UWL6z6724%3D&reserved=0
To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceforge.net%2Fauth%2Fsubscriptions%2F&data=04%7C01%7Csrachakonda%40gsu.edu%7C01b4f3cfce24427a477e08d960afc583%7C515ad73d8d5e4169895c9789dc742a70%7C0%7C0%7C637647130329663630%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=UrXcZ184QcAOU2Px0LPLyg%2FXYcjW4znCz3HKDE8RRz4%3D&reserved=0
CAUTION: This email was sent from someone outside of the university. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Dear expert:
Thanks for your reply! I will try it.
Best regards!
Get Outlook for Androidhttps://aka.ms/AAb9ysg
From: Srinivas Rachakonda rnsk123@users.sourceforge.net
Sent: Tuesday, August 17, 2021 12:28:05 PM
To: [icatb:discussion] 309910@discussion.icatb.p.re.sourceforge.net
Subject: [icatb:discussion] Re: SPM design matrix doesn't match with the data
Hi,
There is a default mask step in GIFT which removes voxels < mean value. If you want to specify a mask, you can use user specified mask.
Thanks,
Srinivas
From: QingYuan alannormal@users.sourceforge.net
Sent: Monday, August 16, 2021 6:17 AM
To: [icatb:discussion] 309910@discussion.icatb.p.re.sourceforge.net
Subject: [icatb:discussion] SPM design matrix doesn't match with the data
Dear experts:
Sorry, I still have some problems about the mask_ind.
The mask of my preprocessed data is a .nii file, whose parameter is 617361, but the mask_ind that is generated by my data during ICA has 57549 voxels, which means there are 57549 values in each IC. Now I operate these IC(compSet.ic in ica_br.mat) to generate a new vector that has 57549 elements, and I want to create a .nii file based on it. How can I do this? I know this step needs the value of each voxel and a mask, but the mask which I can find has 617361 voxels, meanwhile I just have 57549 values.
By the way, I find a function in the Group ICA package, could I use this ?
function [tc, spatial_maps] = icatb_dual_regress(y, X)
%% Use dual regression approach to compute the spatial maps and time
% courses
%
% Inputs:
% 1. y - Observations in columns (Voxels by time points)
% 2. X - design matrix (Voxels by components)
%
% Outputs:
% 1. tc - Time courses (Timepoints by components)
% 2. spatial_maps - Spatial maps (Components by voxels)
%
%% First step. Fit model matrix to the data to get time courses.
X = icatb_remove_mean(X);
tc = pinv(X)*icatb_remove_mean(y);
tc = tc';
clear X;
% Store mean of timecourses
mean_tc = mean(tc);
% Remove mean of timecourse
tc = icatb_remove_mean(tc);
Looking forward to your reply,thank you!
Best regards
SPM design matrix doesn't match with the datahttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceforge.net%2Fp%2Ficatb%2Fdiscussion%2F309910%2Fthread%2F1c827b4f3b%2F%3Flimit%3D25%23d31e&data=04%7C01%7Csrachakonda%40gsu.edu%7C01b4f3cfce24427a477e08d960afc583%7C515ad73d8d5e4169895c9789dc742a70%7C0%7C0%7C637647130329653676%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=HUJNddsq5cHlM7P7bCfO81pmxCKU3IINCSucCCL73R0%3D&reserved=0
Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/icatb/discussion/309910/https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceforge.net%2Fp%2Ficatb%2Fdiscussion%2F309910%2F&data=04%7C01%7Csrachakonda%40gsu.edu%7C01b4f3cfce24427a477e08d960afc583%7C515ad73d8d5e4169895c9789dc742a70%7C0%7C0%7C637647130329653676%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=%2BiT20aji3zg1EZ6e5DUxTUKk%2FGDx5Ck%2FS4UWL6z6724%3D&reserved=0
To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceforge.net%2Fauth%2Fsubscriptions%2F&data=04%7C01%7Csrachakonda%40gsu.edu%7C01b4f3cfce24427a477e08d960afc583%7C515ad73d8d5e4169895c9789dc742a70%7C0%7C0%7C637647130329663630%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=UrXcZ184QcAOU2Px0LPLyg%2FXYcjW4znCz3HKDE8RRz4%3D&reserved=0
CAUTION: This email was sent from someone outside of the university. Do not click links or open attachments unless you recognize the sender and know the content is safe.
SPM design matrix doesn't match with the data
Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/icatb/discussion/309910/
To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/