extract multiple local peak current [ix_peak] = vb_extract_peak(J,ix_J,ix_area,nextDD,nextIX,Rsearch,Rpeak) --- Input J(n,t) : n-th vertex 、時間 t の電流 ix_J(n) : J(n,t) に対応する頂点の全脳インデックス ix_area{Npeak} : 領域ix_area{i}周辺の電流強度ピークを探索する Rsearch : 領域ix_area{i}から半径 Rsearch [m] 以内の領域でピーク探索 Rpeak : ピーク点から半径 Rpeak [m] 以内の点をix_peak{i}に抽出 nextDD,nextIX : 全脳モデル近傍情報 --- Output 推定電流強度のピーク点を Npeak 個 抽出する ix_peak{i}: ix_area{i}のピーク点とその近傍点の頂点インデックス (i=1:Npeak) ix_peak{i}(1) は ix_area{i} のピーク点インデックスとなる。 --- Example ix_area = {[1:100], [1:100], [200:300]}; [nextDD,nextIX] = vb_load_cortex_neighbour(brainfile) [ix_peak] = vb_extract_peak(Jact, ix_act, ix_area, nextDD, nextIX, 0, 0.006) インデックス [1:100] の点から、最大ピーク点と第2ピーク点を探し、 インデックス [200:300] の点から、最大ピーク点を探す。 また、それぞれのピーク点から半径6mm 以内の近傍点インデックスを抽出 第2ピーク点探索時には、最大ピーク点から 6mm 以内の点は除外される。 --- Notes * i番目のピークを抽出する際、 ix_peak{j} (j < i) に含まれる頂点は探索範囲から除外される。 2003-03-08 Taku Yoshioka 2006-9-18 M. Sato Copyright (C) 2011, ATR All Rights Reserved. License : New BSD License(see VBMEG_LICENSE.txt)
0001 function [ix_peak] = vb_extract_peak(J,ix_J,ix_area,nextDD,nextIX,Rs,Re) 0002 % extract multiple local peak current 0003 % [ix_peak] = vb_extract_peak(J,ix_J,ix_area,nextDD,nextIX,Rsearch,Rpeak) 0004 % --- Input 0005 % J(n,t) : n-th vertex 、時間 t の電流 0006 % ix_J(n) : J(n,t) に対応する頂点の全脳インデックス 0007 % ix_area{Npeak} : 領域ix_area{i}周辺の電流強度ピークを探索する 0008 % Rsearch : 領域ix_area{i}から半径 Rsearch [m] 以内の領域でピーク探索 0009 % Rpeak : ピーク点から半径 Rpeak [m] 以内の点をix_peak{i}に抽出 0010 % nextDD,nextIX : 全脳モデル近傍情報 0011 % 0012 % --- Output 0013 % 推定電流強度のピーク点を Npeak 個 抽出する 0014 % 0015 % ix_peak{i}: ix_area{i}のピーク点とその近傍点の頂点インデックス (i=1:Npeak) 0016 % ix_peak{i}(1) は ix_area{i} のピーク点インデックスとなる。 0017 % 0018 % --- Example 0019 % ix_area = {[1:100], [1:100], [200:300]}; 0020 % [nextDD,nextIX] = vb_load_cortex_neighbour(brainfile) 0021 % [ix_peak] = vb_extract_peak(Jact, ix_act, ix_area, nextDD, nextIX, 0, 0.006) 0022 % 0023 % インデックス [1:100] の点から、最大ピーク点と第2ピーク点を探し、 0024 % インデックス [200:300] の点から、最大ピーク点を探す。 0025 % また、それぞれのピーク点から半径6mm 以内の近傍点インデックスを抽出 0026 % 第2ピーク点探索時には、最大ピーク点から 6mm 以内の点は除外される。 0027 % 0028 % --- Notes 0029 % * i番目のピークを抽出する際、 0030 % ix_peak{j} (j < i) に含まれる頂点は探索範囲から除外される。 0031 % 0032 % 2003-03-08 Taku Yoshioka 0033 % 2006-9-18 M. Sato 0034 % 0035 % Copyright (C) 2011, ATR All Rights Reserved. 0036 % License : New BSD License(see VBMEG_LICENSE.txt) 0037 0038 Npeak = length(ix_area); % 抽出ピーク数 0039 0040 % 0041 % 探索範囲の決定 0042 % 0043 ix_search = cell(Npeak,1); 0044 0045 for i = 1:Npeak 0046 if isempty(ix_area{i}) 0047 ix_search{i} = ''; 0048 else 0049 ix_search{i} = []; 0050 for j = 1:length(ix_area{i}) 0051 ix_tmp = find(nextDD{ix_area{i}(j)}<=Rs); 0052 ix_search{i} = [ix_search{i}; nextIX{ix_area{i}(j)}(ix_tmp)]; 0053 end 0054 ix_search{i} = unique(ix_search{i}); 0055 end 0056 end 0057 0058 % 0059 % 電流分布のピークを抽出 0060 % 0061 JJ = sum(abs(J),2); 0062 ix_peak = cell(Npeak,1); 0063 n_peak = 0; 0064 0065 for i = 1:Npeak 0066 % transform to relative index within 'ix_J' 0067 [jx , jx_all]= vb_index2indexsub(ix_search{i}, ix_J); 0068 if isempty(jx), continue; end; 0069 0070 % Find maximum vertex 0071 [tmp,ix_max] = max(JJ(jx)); 0072 0073 % Absolute index for maximum vertex 0074 ix_max = jx_all(ix_max); 0075 0076 % Neighbor index within Radius 'Re' 0077 n_peak = n_peak + 1; 0078 ix_next = find( nextDD{ix_max} <= Re ); 0079 ix_peak{n_peak} = nextIX{ix_max}(ix_next); 0080 0081 % Eliminate previous peak points 0082 kx = vb_index2indexsub(ix_peak{n_peak}, ix_J); 0083 JJ(kx) = 0; 0084 end 0085 0086