Home > functions > brain > vb_find_local_peak.m

vb_find_local_peak

PURPOSE ^

Pval の局所ピーク点を求める

SYNOPSIS ^

function [nextID, nextPP] = vb_find_local_peak(search_parm)

DESCRIPTION ^

 Pval の局所ピーク点を求める
 皮質に沿って測った距離が指定された半径以内にある点を探索する

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [nextID, nextPP] = vb_find_local_peak(search_parm)
0002 
0003 % Pval の局所ピーク点を求める
0004 % 皮質に沿って測った距離が指定された半径以内にある点を探索する
0005 
0006 % INPUT (search_parm構造体)
0007 %   Pval    : 強度
0008 %   Iextract    : 探索するインデックスの範囲, Pval(n) <-> Iextract(n)
0009 %   nextIX{i}    : 隣接近傍点インデックス
0010 %   nextDD{i}    : 隣接近傍点距離
0011 %   Npeak     : 極大点の数
0012 %   Rmax    : 最大半径
0013 %   level     : 極大点強度*level より大きい強度を持つ近傍点を探す
0014 %   minlevel    : 最大強度*minleve より大きい強度を持つ近傍点を探す
0015 % OUTPUT
0016 %   nextID  : 極大点の近傍点インデックス
0017 %   nextPP    : 近傍点強度
0018 %
0019 % Made by Masa-aki Sato on 2003/4/26
0020 %
0021 %
0022 % 2004-06-24 Taku Yoshioka
0023 % ・入力引数を構造体とする。
0024 %
0025 % Copyright (C) 2011, ATR All Rights Reserved.
0026 % License : New BSD License(see VBMEG_LICENSE.txt)
0027 
0028 % 頂点インデックスを Pval のインデックスに変換する表
0029 Npoint = size(search_parm.nextIX,1);
0030 ID = zeros(Npoint,1);
0031 ID(search_parm.Iextract)  = (1:length(search_parm.Iextract))';
0032 
0033 % 最大値,最小閾値計算
0034 Pmax    = max(search_parm.Pval);
0035 Pmin0    = Pmax*search_parm.minlevel;
0036 Vindx    = search_parm.Iextract;
0037 Ptest    = search_parm.Pval;
0038 
0039 nextID    = cell(search_parm.Npeak,1);
0040 nextPP    = cell(search_parm.Npeak,1);
0041 
0042 for n=1:Npeak,
0043   % 探索範囲の点の中で最大強度点を探す
0044   [Pmax, maxix] = max(Ptest);
0045   Pmin          = Pmax*search_parm.level;
0046   Pindx          = Vindx(maxix);
0047   Pmin          = max(Pmin,Pmin0);
0048     
0049   % 極大点の近傍点で強度が閾値より大きい点を探す
0050   [nextix, nextP] = ...
0051       vb_find_neighbor_val(search_parm.Rmax,Pindx,Pmin,...
0052             search_parm.nextIX,search_parm.nextDD,...
0053             Ptest,Vindx);
0054 
0055   nextID{n} = nextix;
0056   nextPP{n} = nextP;
0057     
0058   % 探索した極大近傍点を次回の探索範囲から除外
0059   ID(nextix) = 0;
0060   ixz        = ID( ID>0 );
0061   Vindx       = search_parm.Iextract(ixz);
0062   Ptest       = Pval(ixz);
0063 end;
0064

Generated on Tue 27-Aug-2013 11:46:04 by m2html © 2005