频谱分析代码片段

ldcca_tms = img_To_4D_array(‘C:\Users\Administrator\Desktop\contrast\2014-05-20-12-16.img‘);
spm_tms = img_To_4D_array(‘C:\Users\Administrator\Desktop\contrast\no_phycaa.img‘);

% x = size(spm_tms,1);
% y = size(spm_tms,2);
% z = size(spm_tms,3);
%
% %spm_tms_1d = reshape(spm_tms ,[1,x*y*z] );
%
%
% x = size(ldcca_tms,1);
% y = size(ldcca_tms,2);
% z = size(ldcca_tms,3);
%
% % ldcca_tms_1d = reshape( ldcca_tms , [1,x*y*z] );

mask_ldcca_tms = ldcca_tms > 0;

inv_mask_ldcca_tms = ~mask_ldcca_tms;

mask_spm_tms = spm_tms > 0;

inv_mask_spm_tms = ~mask_spm_tms;

%% 先提取出被去噪去除的点的时间过程  实验结果,去除了435个点,

% left_spm_tms = spm_tms(inv_mask_ldcca_tms);

tmp_spm = spm_tms .* inv_mask_ldcca_tms;

%>>这是最后的模板
mask_big_left_spm_tms = tmp_spm>0;

% big_left_spm_tms = left_spm_tms(left_spm_tms>0);

% aa = size(big_left_spm_tms)

%% 利用我们的去噪算法,得到的新的点,一个点都没有增加

% left_ldcca_tms = ldcca_tms(ldcca_tms);

tmp_ldcca = ldcca_tms .* inv_mask_spm_tms;

%>>这是最后的模板
mask_big_left_ldcca_tms = tmp_ldcca > 0; 

% big_left_ldcca_tms = left_ldcca_tms( left_ldcca_tms>0 );

% bb = size(big_left_ldcca_tms)

%% 提取被去除的点的时间过程
%--brain functional 4d data

datacell_4d   = load_untouch_nii(‘C:\Users\Administrator\Desktop\workspace\phycaa_plus_2104_03_27\func_3d.nii‘); 

%datacell_4d   = load_untouch_nii(‘F:\4Dfile\func_3d_PHYCAA_step1+2.nii‘); 

ldim = size(datacell_4d.img);

fullMsk = repmat( mask_big_left_spm_tms, [1,1,1,ldim(4)] );
left_spm_tms_2d = reshape( datacell_4d.img(fullMsk>0), [], ldim(4) );

inv_fullMsk =  repmat( mask_spm_tms.*(~mask_big_left_spm_tms), [1,1,1,ldim(4)] );
inv_left_spm_tms_2d = reshape( datacell_4d.img(inv_fullMsk>0), [], ldim(4) );

%% fft decomposition

TR =2;

  % parameters for spectral estimation
    Fny    = 0.5 * (1/ TR);                % nyquist frequency
    NFFT   = 2^nextpow2(70);           % Next power of 2 from length of time-axis
    f      = Fny*linspace(0,1,NFFT/2+1);  % fourier data corresponds to these frequency points
    numlow = sum( f <= 0.1 );           % count the number of frequency points below threshold

% =========================================================================
%   get ordered spectral estimates    

powHgh =[];
powLow =[];

inv_powHgh=[];
inv_powLow=[];

i=1;

%for i=1:size(left_spm_tms_2d,1)
    % get sum of spectral power values, for f > dataInfo.FreqCut
    powMat  = abs( fft( double(left_spm_tms_2d) , NFFT ,2) ) / 70;
    powMat  = powMat(:,1:NFFT/2+1);
    powHgh  = sum( sqrt(powMat(:,numlow+1:end)), 2 );
    powLow  = sum( sqrt(powMat(:,1:numlow)), 2 );
%end

mean_powHgh = mean(powHgh);
median_powHgh = median(powHgh);
min_powHgh = min(powHgh);

mean_powLow = mean(powLow);
median_powLow = median(powLow);
min_powLow = min(powLow);

%for i=1:size(inv_left_spm_tms_2d,1)
    % get sum of spectral power values, for f > dataInfo.FreqCut
    inv_powMat  = abs( fft( double(inv_left_spm_tms_2d) , NFFT ,2) ) / 70;
    inv_powMat  = inv_powMat(:,1:NFFT/2+1);
    inv_powHgh  = sum( sqrt(inv_powMat(:,numlow+1:end)), 2 );
    inv_powLow  = sum( sqrt(inv_powMat(:,1:numlow)), 2 );
%end

inv_mean_powHgh = mean(inv_powHgh);
inv_median_powHgh = median(inv_powHgh);
inv_min_powHgh = min(inv_powHgh);

inv_mean_powLow = mean(inv_powLow);
inv_median_powLow = median(inv_powLow);
inv_min_powLow = min(inv_powLow);

%vol_4d(:,:,slice,:);

  

频谱分析代码片段

时间: 2024-11-08 03:14:55

频谱分析代码片段的相关文章

频谱分析代码片段2

%% 原始数据 datacell_4d = load_untouch_nii('C:\Users\Administrator\Desktop\workspace\phycaa_plus_2104_03_27\func_4d.nii'); ldim = size(datacell_4d.img); %% 制造模板 ldcca_tms = img_To_4D_array('C:\Users\Administrator\Desktop\contrast\2014-05-26-20-00.img');

solr分布式索引【实战一、分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例】

1 private static Properties prop = new Properties(); 2 3 private static String confFilePath = "conf" + File.separator + "config.properties";// 配置文件目录 4 static { 5 // 加载properties 6 InputStream is = null; 7 InputStreamReader isr = null;

100个直接可以拿来用的JavaScript实用功能代码片段

把平时网站上常用的一些实用功能代码片段通通收集起来,方面网友们学习使用,利用好的话可以加快网友们的开发速度,提高工作效率. 目录如下: 1.原生JavaScript实现字符串长度截取2.原生JavaScript获取域名主机3.原生JavaScript清除空格4.原生JavaScript替换全部5.原生JavaScript转义html标签6.原生JavaScript还原html标签7.原生JavaScript时间日期格式转换8.原生JavaScript判断是否为数字类型9.原生JavaScript

关于UITabBar各部分自定义的代码片段

一.自定义TabBar选项卡背景默认UITabBarController的TabBar背景是黑色的,如何自定义成背景图片呢? UITabBarController *tabBarController = [[UITabBarController alloc] init]; // 获取选项卡控制器视图的所有子视图,保存到一数组中 NSArray *array = [tabBarController.view subviews]; // 索引值为1的应该就是TabBar UITabBar  *tab

常用python日期、日志、获取内容循环的代码片段

近段时间对shell脚本和python进行了梳理,将一些脚本中常用的内容,考虑多种方法整理出来,形成有用的代码片段,这样就可以在需要的时候直接使用,也可以用于备忘和思考.本次整理的代码片段有: python中日期.时间常用获取方法: 记录处理日志的logging模块使用:从目录,文件,命名结果中,获取循环条件进行循环.我将这些有用的代码片段整理在一个Python脚本中了,并且测试可用.脚本内容如下: #!/usr/bin/env python #_*_coding:utf8_*_ #常用日期和时

sublime text3 之snippet编写代码片段

sublime text 3 中有个强大的功能就是可以编写各种文件类型的snippet代码片段,可以节省大量的时间. 文件名为:jekyll-top.sublime-snippet(.sublime-snippet)后缀必须这样 <snippet> <content><![CDATA[/** * author:qinbb * title:智能推荐${1:标题} */ ${2}]]></content> <!-- Optional: Set a tabT

Sublime Text Snippets(代码片段)功能

我们在编写代码的时候,总会遇到一些需要反复使用的代码片段.这时候就需要反复的复制和黏贴,大大影响效率.我们利用Sublime Text的snippet功能,就能很好的解决这一问题.通俗的讲,就是把我们常用的代码分别保存起啦,然后通过插件的形式来反复调用. 创建方法:Tools > New Snippet 这时你会看到如下示例代码: 1 <snippet> 2 <content><![CDATA[ 3 Hello, ${1:this} is a ${2:snippet}.

xcode自动生成代码片段

一.什么是代码片段 当在Xcode中输入dowhile并回车后,Xcode会出现下图所示的提示代码: 这就是代码片段,目的是使程序员以最快的速度输入常用的代码片段,提高编程效率.该功能是从Xcode4开始引入的.在Xcode中的位置如下图所示: 里面有很多Xcode自带的代码片段,上例中的dowhile就是其中的一个. 二.如何自定义代码片段 由于项目.所用语言或者编码习惯的差别,不同的程序员习惯用的代码片段也不尽相同,这就有了自定义代码片段的需求,好在Xcode是支持该功能的. @proper

10个常用的JQUERY代码片段

jQuery被用在无数个网站的页面上,它是使用最为广泛的javascript库之一.jQuery的受欢迎程度的部分是它的简单性.它能够通过简单的语句完成大部分复杂的工作.有许多jQuery片段我们在每天不断重复的使用,这里总结了10条你必须知道的jQuery代码片段. 返回顶部 <a class="top" href="#">Back to top</a> // Back To Top $('a.top').click(function(){