You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Wtyczkami napisanymi w Matlab, są odpowiednie skrypty napisane w języku Matlab, zawierające informacje potrzebne do rozpoznania ich jak moduły dla SWIP5  i umieszczone w podkatalogu Matlab. Skrypty te będą widoczne, jako pozycje w menu programu SWIP5, których wybranie powoduje przesłanie odpowiednich danych do programu Matlab, wykonanie zadanego programu i przekazanie odpowiednich danych z powrotem do programu SWIP5. Są to typowe skrypty Matlaba poprzedzone definicjami dla SWIP, które są odpowiednimi liniami na początku skryptu traktowanymi przez Matlab, jako komentarze. Linie te są poprzedzone znakami "% !"Na ich podstawie  podstawie program SWIP5 rozpoznaje je, jako funkcje dla programu SWIP5, umieszcza w odpowiednich pozycjach menu, przekazuje i odbiera odpowiednie dane z programu Matlab.Skrypty te mogą być wywoływane w programie Matlab bez pośrednictwa SWIP-a, co pozwala je testować przed dodaniem do programu.

Skrypt taki musi zaczynać się linią:

% !SWIP5

informującą program, że jest to skrypt przeznaczony dla programu SWIP5. Następnie musi wystąpić jedna, lub kilka linii opisujących menu:

% !MENU …

a następnie kilka linii opisujących sposób przekazywania danych miedzy SWIP5 a Matlab . Oczywiście w przypadku testowania skryptów w samym Matlabie dane trzeba wczytać przed wywołaniem skryptu. Można korzystać w skryptach z innych bibliotek, ale trzeba zdefiniować do nich dostęp.

Poniżej dwa przykładowe skrypty:

1. Skrypt rysujący w Maltabie sejsmogramy z okna powiększenia:

% !SWIP5
% !MENU Test plot
% !DATA FROM ZOOM WINDOW
for i=1:numel(WaveForms)
    subplot(numel(WaveForms),1,i)
    plot(WaveForms(i).data.data)
    title(WaveForms(i).name)
end

2. Skrypt generujący IS-EPOS katalog (wcześniej, należy wczytać wszystkie zjawiska do SWIP):

% !SWIP5
% !MENU Create IS-EPOS catalog
% !QUAKEML
addpath 'c:\Users\jwisz\Documents\MATLAB'
addpath 'c:\Users\jwisz\Documents\MATLAB\SWIDB'
Catalog = QuakeML2Catalog(QuakeML);
save('Catalog_VERIS.mat','Catalog','-v6');

Konfiguracja menu w skryptach Matlab

Menu definiowane jest przez jedną, lub kilka linii opisujących menu w skrypcie, w postaci:

% !MENU …

gdzie „…” oznaczają hasło menu programu SWIP5. Jeżeli występuje jedna linia opisująca menu, pozycja ta zostanie dopisana bezpośrednio do podmenu Matlab. Jeżeli występuje kilka linii opisujących menu, zostanie stworzone odpowiednie drzewo od podmenu Matlab. Istnieje możliwość dopisania wywołania funkcji poza podmenu Matlab. W tym celu pierwsza i tylko pierwsza pozycja menu powinna być:

% !TOP MENU …

Wtedy nazwa „…” będzie traktowana, jako pozycja na belce głównej menu programu SWIP5. Powyższe definicje muszą wystąpić na początku skryptu po linii

% !SWIP5

W przeciwnym wypadku program SWIP5 ignoruje ten skrypt.

Poniżej przedstawione są przykładowe definicje w skrypcie i odpowiadające im pozycje w menu:

% !SWIP5

% !MENU Create IS-EPOS catalog

% !SWIP5

% !MENU Create catalogs

% !MENU IS-EPOS catalog


% !SWIP5

% !TOP MENU Filters

% !MENU Matlab filter



  • No labels