【原创】
%% 将文件分装到不同文件夹
filePath = uigetdir(); % 选择要处理的子文件夹所在的文件夹 或者直接指定
cd(filePath)
files = dir(filePath);
% oldName = cell(length(files)-2,1);%含有所有子文件夹名字的元胞数组前两个无效
for i = 1:length(files)-2
name={files(i+2,1).name(1:end-4)}
mkdir(name{1,1})
end
% file_name=dir(pwd)
for j = 1:length(files)-2
%load(files(3,1).name,'-mat')
movefile (files(j+2,1).name, files(j+2,1).name(1:end-4))
end
%% 转换数据为HERMES能识别格式
%本脚本输入数据为经过Homer2预处理的血氧数据;
%Edit by Guangyue Zhu
%homer数据
close
clear
clc
msgbox('请选择nirs所在文件夹')
pause(2)
file_name=uigetdir();
data_name=dir([file_name,'\','*.nirs']);
mkdir HMS
data_length=[1:3600];%统一数据长度,需要修改
for i =1:length(data_name);
load(data_name(i,1).name,'-mat');
%if ~isempty(strfind(data_name(i,1).name,'L'))%%查找文件名里有没有L
% hermes_data=nirs_data.oxyData;
%hermes_data_original=squeeze(procResult.dc(data_length,1,:));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%脑卒中翻转运动区,统一左侧为梗死区
%hermes_data([2 14 15 1 13 16 26 20 21 12 29 30 11 28 27 25 32 31 34 33 18 19 23 24 4 17 6 8 22 10 3 5 7 9])=hermes_data_original([12 29 30 11 28 27 25 32 31 2 14 15 1 13 16 26 20 21 34 33 18 19 23 24 4 17 6 8 22 10 3 5 7 9])
%clear nirs_data
%disp(['complete','-----',data_name(i,1).name]);
%save([file_name,'\','HMS','\',data_name(i,1).name(1:end-5),'Ltrans_hms.mat'],'hermes_data');
% else
hermes_data=squeeze(procResult.dc(data_length,1,:));
disp(['complete','-----',data_name(i,1).name])
save([file_name,'\','HMS','\',data_name(i,1).name(1:end-5),'_hms.mat'],'hermes_data');
%end
end
%本脚本的功能是将.nirs转换为NIRS_SPM能够读取的.mat格式;
%运行前将Homer2加载到路径中;
%edited by Guangyue Zhu 2021/04/18
clear
clc
msgbox('请选择nirs所在文件夹')
pause(2)
file_name=uigetdir();
data_name=dir([file_name,'\','*.nirs']);
%mkdir conv
%mkdir connect_pro
for i = 1:length(data_name);
load(data_name(i,1).name,'-mat');
if length(SD.Lambda(:,:)) == 2
dod = hmrIntensity2OD(d);
dc = hmrOD2Conc(dod,SD,[6 6]);
nirs_data.oxyData = squeeze(dc(:,1,:));
nirs_data.dxyData = squeeze(dc(:,2,:));
nirs_data.tHbData = squeeze(dc(:,3,:));
delta_t = t(3,1)-t(2,1);
nirs_data.fs =floor(1/delta_t);
nirs_data.nch = size(dc,3);
nirs_data.marks(:,1)=find(s(:,1));
if length(s(1,:)) >=2
nirs_data.marks(:,2)=find(s(:,2));
end
%转功能连接格式
% deoxy=nirs_data.dxyData;
% oxy=nirs_data.oxyData;
% total=nirs_data.tHbData;
% save([file_name,'\',data_name(i,1).name(1:end-5),'_FC.mat'],'deoxy','oxy','total');
save([file_name,'\',data_name(i,1).name(1:end-5),'.mat'],'nirs_data');
else
dod = hmrIntensity2OD(d);
dc = hmrOD2Conc(dod,SD,[6 6 6]);
nirs_data.oxyData = squeeze(dc(:,1,:));
nirs_data.dxyData = squeeze(dc(:,2,:));
nirs_data.tHbData = squeeze(dc(:,3,:));
delta_t = t(1,3)-t(1,2);
nirs_data.fs = floor(1/delta_t);
nirs_data.nch = size(dc,3);
nirs_data.marks(:,1)=find(s(:,1));%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%必要时修改mark号码
if length(s(1,:)) >=2
nirs_data.marks(:,2)=find(s(:,2));
end
% deoxy=nirs_data.dxyData;
% oxy=nirs_data.oxyData;
% total=nirs_data.tHbData;
% save([file_name,'\','\',data_name(i,1).name(1:end-5),'_FC.mat'],'deoxy','oxy','total') ;
save([file_name,'\','\',data_name(i,1).name(1:end-5),'.mat'],'nirs_data');
end
clear nirs_data
disp(['complete','-----',data_name(i,1).name])
end