1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/a_bad_geek-FastICA

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
fasticag.m 19 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Ye Jianjie Отправлено 30.03.2014 13:35 05b0778
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667
function fasticag(mixedsig, InitialGuess)
%FASTICAG - Fast Independent Component Analysis, the Graphical User Interface
%
% FASTICAG gives a graphical user interface for performing independent
% component analysis by the FastICA package. No arguments are
% necessary in the function call.
%
% Optional arguments can be given in the form:
% FASTICAG(mixedsig, initialGuess) where the matrix mixedsig contains the
% multidimensional signals as row vectors, and initialGuess gives the
% initial value for the mixing matrix used in the algorithm.
%
% FASTICA uses the fixed-point algorithm developed by Aapo Hyvarinen,
% see http://www.cis.hut.fi/projects/ica/fastica/. The Matlab package
% was programmed by Hugo Gavert, Jarmo Hurri, Jaakko Sarela, and Aapo
% Hyvarinen.
%
%
% See also FASTICA
% @(#)$Id: fasticag.m,v 1.5 2005/10/19 13:05:34 jarmo Exp $
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Global values
% Handle to this main figure
global hf_FastICA_MAIN;
% Check to see if GUI is already running
% Can't have more than one copy - otherwise the global
% variables and handles can get mixed up.
if ~isempty(hf_FastICA_MAIN)
error('FastICA GUI already running!');
end
% Handles to other controls in this main window
global ht_FastICA_mixedStatus;
global ht_FastICA_dim;
global ht_FastICA_numOfSamp;
global ht_FastICA_newDim;
global ht_FastICA_whiteStatus;
global ht_FastICA_icaStatus;
global hpm_FastICA_approach;
global he_FastICA_numOfIC;
global hpm_FastICA_g;
global hpm_FastICA_stabilization;
% These global variables are used to store all the values
% I used to use the 'UserData' field of components, but
% that got too complex, so I decided to put everything
% in global variables
global g_FastICA_mixedsig;
global g_FastICA_pca_D;
global g_FastICA_pca_E;
global g_FastICA_white_sig;
global g_FastICA_white_wm;
global g_FastICA_white_dwm;
global g_FastICA_ica_sig;
global g_FastICA_ica_A;
global g_FastICA_ica_W;
global g_FastICA_initGuess;
global g_FastICA_approach;
global g_FastICA_numOfIC;
global g_FastICA_g;
global g_FastICA_finetune;
global g_FastICA_a1;
global g_FastICA_a2;
global g_FastICA_myy;
global g_FastICA_stabilization;
global g_FastICA_epsilon;
global g_FastICA_maxNumIte;
global g_FastICA_maxFinetune;
global g_FastICA_sampleSize;
global g_FastICA_initState;
global g_FastICA_displayMo;
global g_FastICA_displayIn;
global g_FastICA_verbose;
% initial values for them:
% All the initial values are set here - even for
% variables that are not used in this file
if nargin < 2
g_FastICA_initGuess = 1;
% The user didn't enter initial guess so we default
% back to random initial state.
g_FastICA_initState = 1; % see below for string values
else
g_FastICA_initGuess = InitialGuess;
% If initial guess was entered, then the user probably
% wan't to use it, eh?
g_FastICA_initState = 2; % see below for string values
end
if nargin < 1
g_FastICA_mixedsig = [];
else
g_FastICA_mixedsig = mixedsig; % We'll remove mean
end % the first time we
% use this.
% Global variable for stopping the ICA calculations
global g_FastICA_interrupt;
g_FastICA_pca_D = [];
g_FastICA_pca_E = [];
g_FastICA_white_sig = [];
g_FastICA_white_wm = [];
g_FastICA_white_dwm = [];
g_FastICA_ica_sig = [];
g_FastICA_ica_A = [];
g_FastICA_ica_W = [];
g_FastICA_approach = 1; % see below for string values
g_FastICA_numOfIC = 0;
g_FastICA_g = 1; % see below for string values
g_FastICA_finetune = 5; % see below for string values
g_FastICA_a1 = 1;
g_FastICA_a2 = 1;
g_FastICA_myy = 1;
g_FastICA_stabilization = 2; % see below for string values
g_FastICA_epsilon = 0.0001;
g_FastICA_maxNumIte = 1000;
g_FastICA_maxFinetune = 100;
g_FastICA_sampleSize = 1;
g_FastICA_displayMo = 1; % see below for string values
g_FastICA_displayIn = 1;
g_FastICA_verbose = 1; % see below for string values
% These are regarded as constants and are used to store
% the strings for the popup menus the current value is
% seen in the variables above
% D - refers to strings that are displayed
% V - refers to string values that are used in FPICA
global c_FastICA_appr_strD;
global c_FastICA_appr_strV;
global c_FastICA_g1_strD;
global c_FastICA_g1_strV;
global c_FastICA_g2_strD;
global c_FastICA_g2_strV;
global c_FastICA_finetune_strD;
global c_FastICA_finetune_strV;
global c_FastICA_stabili_strD;
global c_FastICA_stabili_strV;
global c_FastICA_iSta_strD;
global c_FastICA_iSta_strV;
global c_FastICA_dMod_strD;
global c_FastICA_dMod_strV;
global c_FastICA_verb_strD;
global c_FastICA_verb_strV;
% All the values for these are set here - even for
% variables that are not used in this file
c_FastICA_appr_strD = 'deflation|symmetric';
c_FastICA_appr_strV = ['defl';'symm'];
% The 'g1' and 'g2' below correspond to the values of approach (1 or 2)
% Deflation and Symmetric used to have a bit different selection
% of available nonlinearities.
c_FastICA_g1_strD = 'pow3|tanh|gauss|skew';
c_FastICA_g1_strV = ['pow3';'tanh';'gaus';'skew'];
c_FastICA_g2_strD = 'pow3|tanh|gauss|skew';
c_FastICA_g2_strV = ['pow3';'tanh';'gaus';'skew'];
c_FastICA_finetune_strD = 'pow3|tanh|gauss|skew|off';
c_FastICA_finetune_strV = ['pow3';'tanh';'gaus';'skew';'off '];
c_FastICA_stabili_strD = 'on|off';
c_FastICA_stabili_strV = ['on ';'off'];
c_FastICA_iSta_strD = 'random|guess';
c_FastICA_iSta_strV = ['rand ';'guess'];
c_FastICA_dMod_strD = 'signals|basis|filters|off';
c_FastICA_dMod_strV = ['signals';'basis ';'filters';'off '];
c_FastICA_verb_strD = 'on|off';
c_FastICA_verb_strV = ['on ';'off'];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Configuration options
FIGURENAME = 'FastICA';
FIGURETAG = 'f_FastICA';
SCREENSIZE = get(0,'ScreenSize');
FIGURESIZE = [round(0.1*SCREENSIZE(3)) (SCREENSIZE(4)-round(0.1*SCREENSIZE(4))-370) 530 370];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Create the figure
a = figure('Color',[0.8 0.8 0.8], ...
'PaperType','a4letter', ...
'Name', FIGURENAME, ...
'NumberTitle', 'off', ...
'Tag', FIGURETAG, ...
'Position', FIGURESIZE, ...
'MenuBar', 'none');
% Resizing has to be denied after the window has been created -
% otherwise the window shows only as a tiny window in Windows XP.
set (a, 'Resize', 'off');
hf_FastICA_MAIN = a;
set(hf_FastICA_MAIN, 'HandleVisibility', 'callback');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% From here on it get's ugly as I have not had time to clean it up
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Create the frames
pos_l=2;
pos_w=FIGURESIZE(3)-4;
pos_h=FIGURESIZE(4)-4;
pos_t=FIGURESIZE(4)-2-pos_h;
h_f_background = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Position',[pos_l pos_t pos_w pos_h], ...
'Style','frame', ...
'Tag','f_background');
pos_l=4;
pos_w=400;
pos_h=106;
pos_t=FIGURESIZE(4)-4-pos_h;
h_f_mixed = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Position',[pos_l pos_t pos_w pos_h], ...
'Style','frame', ...
'Tag','f_mixed');
pos_h=90;
pos_t=FIGURESIZE(4)-(106+4+2)-pos_h;
h_f_white = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Position',[pos_l pos_t pos_w pos_h], ...
'Style','frame', ...
'Tag','f_white');
pos_h=pos_t - 4 - 2;
pos_t=4;
h_f_ica = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Position',[pos_l pos_t pos_w pos_h], ...
'Style','frame', ...
'Tag','f_ica');
pos_w=120;
pos_l=FIGURESIZE(3)-(pos_w+2+2);
pos_h=FIGURESIZE(4)-2*4;
pos_t=FIGURESIZE(4)-(4)-pos_h;
h_f_side = uicontrol('Parent',a, ...
'BackgroundColor',[0.5 0.5 0.5], ...
'Position',[pos_l pos_t pos_w pos_h], ...
'Style','frame', ...
'Tag','f_side');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Controls in f_mixed
bgc = get(h_f_mixed, 'BackgroundColor');
pos_vspace = 6;
pos_hspace = 6;
pos_frame=get(h_f_mixed, 'Position');
pos_l = pos_frame(1) + 6;
pos_h = 16;
pos_t = pos_frame(2) + pos_frame(4) - pos_h - 6;
pos_w = 150;
b = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Mixed signals:', ...
'FontWeight', 'bold', ...
'Style','text', ...
'Tag','t_mixed');
pos_l = pos_l + pos_w;
pos_w = 120;
ht_FastICA_mixedStatus = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Not loaded yet', ...
'Style','text', ...
'Tag','t_mixedstatus');
% Vhn vli
pos_t = pos_t - 8;
pos_l = pos_frame(1) + 6;
pos_t = pos_t - pos_h;
pos_w = 150;
b = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Number of signals:', ...
'Style','text', ...
'Tag','t_2');
pos_l = pos_l + pos_w;
pos_w = 50;
ht_FastICA_dim = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','', ...
'Style','text', ...
'Tag','t_dim');
pos_l = pos_frame(1) + 6;
pos_t = pos_t - pos_h;
pos_w = 150;
b = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Number of samples:', ...
'Style','text', ...
'Tag','t_3');
pos_l = pos_l + pos_w;
pos_w = 50;
ht_FastICA_numOfSamp = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','', ...
'Style','text', ...
'Tag','t_numOfSamp');
% Buttons
pos_l = pos_frame(1) + pos_hspace;
pos_w = 110;
pos_h = 30;
pos_t = pos_frame(2) + pos_vspace;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb Transpose', ...
'Interruptible', 'off', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Transpose', ...
'Tag','b_Transpose');
pos_w = 130;
pos_l = pos_frame(1) + pos_frame(3) - pos_hspace - pos_w;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb ShowMixed', ...
'Interruptible', 'off', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Plot data', ...
'Tag','b_ShowMixed');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Controls in f_white
pos_frame=get(h_f_white, 'Position');
pos_l = pos_frame(1) + 6;
pos_h = 16;
pos_t = pos_frame(2) + pos_frame(4) - pos_h - 6;
pos_w = 150;
b = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Dimension control:', ...
'FontWeight', 'bold', ...
'Style','text', ...
'Tag','t_white');
pos_l = pos_l + pos_w;
pos_w = 120;
ht_FastICA_whiteStatus = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','', ...
'Style','text', ...
'Tag','t_whiteStatus');
% Vhn vli
pos_t = pos_t - 8;
pos_l = pos_frame(1) + 6;
pos_t = pos_t - pos_h;
pos_w = 150;
b = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Reduced dimension:', ...
'Style','text', ...
'Tag','t_4');
pos_l = pos_l + pos_w;
pos_w = 50;
ht_FastICA_newDim = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','', ...
'Style','text', ...
'Tag','t_newDim');
% buttons
pos_l = pos_frame(1) + pos_hspace;
pos_w = 110;
pos_h = 30;
pos_t = pos_frame(2) + pos_vspace;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb DoPCA', ...
'Interruptible', 'off', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Reduce dim.', ...
'Tag','b_DoPCA');
pos_l = pos_l + pos_w + pos_hspace;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb OrigDim', ...
'Interruptible', 'off', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Original dim.', ...
'Tag','b_OrigDim');
pos_w = 130;
pos_h = 30;
pos_l = pos_frame(1) + pos_frame(3) - 6 - pos_w;
pos_t = pos_frame(2) + 6;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb ShowWhite', ...
'Interruptible', 'off', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Plot whitened', ...
'Tag','b_ShowWhite');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Controls in f_ica
pos_frame=get(h_f_ica, 'Position');
pos_l = pos_frame(1) + 6;
pos_h = 20;
pos_t = pos_frame(2) + pos_frame(4) - pos_h - 6;
pos_w = 150;
b = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Fixed point ICA:', ...
'FontWeight', 'bold', ...
'Style','text', ...
'Tag','t_white');
pos_l = pos_l + pos_w;
pos_w = 120;
ht_FastICA_icaStatus = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Not yet done', ...
'Style','text', ...
'Tag','t_icaStatus');
% Vhn vli
pos_t = pos_t - 8;
%pos_l = pos_frame(1) + 6;
pos_l = pos_frame(1) + 6 + 150;
pos_t = pos_t - pos_h;
%pos_w = 260;
pos_w = 120;
b = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Approach:', ...
'Style','text', ...
'Tag','t_5');
pos_w = 100;
%pos_t = pos_t - 4;
pos_l = pos_frame(1) + pos_frame(3) - 6 - pos_w;
hpm_FastICA_approach = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'Callback','gui_cb ChangeApproach', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String',c_FastICA_appr_strD, ...
'Style','popupmenu', ...
'Tag','pm_approach', ...
'Value',g_FastICA_approach);
%pos_t = pos_t - 4;
%pos_l = pos_frame(1) + 6;
pos_l = pos_frame(1) + 6 + 150;
pos_t = pos_t - pos_h;
%pos_w = 260;
pos_w = 120;
b = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Number of ICs:', ...
'Style','text', ...
'Tag','t_6');
pos_w = 100;
pos_l = pos_frame(1) + pos_frame(3) - 6 - pos_w;
he_FastICA_numOfIC = uicontrol('Parent',a, ...
'BackgroundColor',[1 1 1], ...
'Callback','gui_cb ChangeNumOfIC', ...
'HorizontalAlignment','right', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','0', ...
'Style','edit', ...
'Tag','e_numOfIC');
%pos_t = pos_t - 4;
%pos_l = pos_frame(1) + 6;
pos_l = pos_frame(1) + 6 + 150;
pos_t = pos_t - pos_h;
%pos_w = 260;
pos_w = 120;
b = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Nonlinearity (g):', ...
'Style','text', ...
'Tag','t_71');
%pos_t = pos_t - 4;
pos_w = 100;
pos_l = pos_frame(1) + pos_frame(3) - 6 - pos_w;
hpm_FastICA_g = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'Callback','gui_cb ChangeG', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String',c_FastICA_g1_strD, ...
'Style','popupmenu', ...
'Tag','pm_g', ...
'Value',g_FastICA_g);
%pos_t = pos_t - 4;
%pos_l = pos_frame(1) + 6;
pos_l = pos_frame(1) + 6 + 150;
pos_t = pos_t - pos_h;
%pos_w = 260;
pos_w = 120;
b = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'HorizontalAlignment','left', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Stabilization:', ...
'Style','text', ...
'Tag','t_71a');
%pos_t = pos_t - 4;
pos_w = 100;
pos_l = pos_frame(1) + pos_frame(3) - 6 - pos_w;
hpm_FastICA_stabilization = uicontrol('Parent',a, ...
'BackgroundColor',bgc, ...
'Callback','gui_cb ChangeStab', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String',c_FastICA_stabili_strD, ...
'Style','popupmenu', ...
'Tag','pm_stab', ...
'Value',g_FastICA_stabilization);
pos_l = pos_frame(1) + pos_vspace;
pos_w = 110;
pos_h = 30;
pos_t = pos_frame(2) + pos_hspace;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb AdvOpt', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Adv. options >>', ...
'Tag','b_advOpt');
pos_w = 130;
pos_h = 30;
pos_l = pos_frame(1) + pos_frame(3) - pos_vspace - pos_w;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb ShowICASig', ...
'Interruptible', 'on', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Plot ICs', ...
'Tag','b_ShowICASig');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Controls in f_side
pos_vspace = 6;
pos_hspace = 10;
pos_temp=get(h_f_side, 'Position');
pos_l=pos_temp(1)+pos_hspace;
pos_w=100;
pos_h=30;
pos_t=pos_temp(2)+pos_temp(4)-pos_vspace-pos_h;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb LoadData', ...
'Interruptible', 'off', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Load data', ...
'Tag','b_LoadData');
pos_t=pos_t-pos_h-pos_vspace;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb DoFPICA', ...
'Interruptible', 'on', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Do ICA', ...
'Tag','b_DoFPICA');
pos_t=pos_t-pos_h-pos_vspace;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb SaveData', ...
'Interruptible', 'off', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Save results', ...
'Tag','b_SaveData');
pos_t=pos_t-pos_h-pos_vspace;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb Quit', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Quit', ...
'Tag','b_Quit');
pos_t=pos_t-pos_h-pos_vspace;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb Interrupt', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Interrupt', ...
'Visible','off', ...
'Tag','b_Interrupt');
pos_t = pos_frame(2) + pos_vspace + pos_h + pos_vspace;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb About', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','About...', ...
'Tag','b_About');
pos_t = pos_frame(2) + pos_vspace;
b = uicontrol('Parent',a, ...
'BackgroundColor',[0.701961 0.701961 0.701961], ...
'Callback','gui_cb Help', ...
'Position',[pos_l pos_t pos_w pos_h], ...
'String','Help', ...
'Tag','b_Help');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Do rest of the initialization...
gui_cb InitAll;

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/a_bad_geek-FastICA.git
git@api.gitlife.ru:oschina-mirror/a_bad_geek-FastICA.git
oschina-mirror
a_bad_geek-FastICA
a_bad_geek-FastICA
master