Biblioteka funkcji Matlab wspomagająca współpracę ze SWIP5 może być podzielona na kilka rodzajów funkcji
1. Funkcje wspomagające dostęp do pól struktury MatlabQML i operacje na nich
- getOptional - pobiera z obiektu MatlabQML opcjonalne pole. Zwraca jego kopię lub obiekt pusty jeżeli pole jest niezdefiniowane
- getOptionalTree
- getOptionalValue
- isOptional - sprawdza, czy w obiekcie MatlabQML jest zdefiniowane opcjonalne pole
- [result] = isOptionalTree( owner, field1, field2,...) - Funkcja testuje istnienie opcjonalnego drzewa obiektów struktury MatlabQML obiektu owner. Zwraca fałsz jeżeli dla kolejnych pół field* w strukturze obiekt o danej nazwie jest pusty lub nie istnieje. W przypadku tylko jednego pola w ścieżce, funkcja isOptionalTree jest wolniejsza niż funkcja isOptional, której należy użyć zamiast tego.
- [chanEq] = channelsEqual( channeln, channel2 ) - Funkcja porównuje dwie nazwy kanałów obejmujące kody sieci, stacji, lokalizacji i kanału w formacie WaveformStreamID. Jeśli w jednej nazwie kod sieci jest pusta lub nie istnieje, ignoruje porównanie sieci kodów sieci. Tak samo jest w przypadku kodu lokalizacji. Pierwsze zmienna wejściowa (channeln) może być wektorem WaveformStreamID, wtedy wynik jest wektorem logicznym. Druga zmienna wejściowa (channel2 ) musi być pojedynczym obiektem WaveformStreamID.
- [staEq] = stationsEqual( stationn, station2 ) - Funkcja porównuje dwie nazwy kanałów obejmujące kody sieci i stacji w formacie WaveformStreamID. Jeśli w jednej nazwie kod sieci jest pusta lub nie istnieje, ignoruje porównanie sieci kodów sieci i porównuje tylko kody stacji. Pierwsze zmienna (stationn) może być wektorem WaveformStreamID, wtedy wynik jest wektorem logicznym. Druga zmienna wejściowa (station2) musi być pojedynczym obiektem WaveformStreamID.
- [item, index] = findPublicID( tabela, id ) - Funkcja wyszukuje w tabeli element o identyfikatorze publicID = id. Tabelą może być dowolna tablica struktur zawierająca obiekty publicID, np.: events, pick, amplitudes, origins. Identyfikator (id) może być ciągiem znaków lub strukturą publicID z polem resourceID. Jeśli szukany identyfikator publiczny nie istnieje lub jest błędny, funkcja zwróci pustą zmienne. Element zwraca kopię znalezionego elementu w tabeli (item) oraz jego indeks (index) w tablicy, jeżeli chcemy modyfikować obiekt.
Funkcje getOptional, getOptionalTree,, getOptionalValue, isOptional i isOptionalTree należy zawsze stosować dla pół opcjonalnych- oznaczanych w opise QukeML jako [0..1] lub [0..*]. W przypadku tylko pół struktury, które na pewno występują w QuakeML można stosować odwołania do nich poprzez kropkę.
2. Funkcje zamieniające obiekty MatlabQML na typowe obiekty Matlaba
- stationName2string
- channelName2string
- unixTimeSamples
- timeQML2Date
3. Funkcje ogólne wyciągajace typowe wartości sejsmiczne z obiektu zjawiska sejsmicznego (event)
- event2coordinates
- [value, type, magnitude] = getMagnitude( event, fn1, fn2, ...) - Funkcja wynajduje magnitudę zjawiska. Najpierw sprawdza, czy którykolwiek z nazw magnitud fn* jest preferowaną magnitudą zajwiska. Następnie szuka nazwy magnitudy fn1. Gdy nie może jej znaleźć, szuka magnitud stacyjnych fn1 i zwraca ich średnią wartość. Gdy nie może znaleźć magnitudy fn1, szuka magnitudy fn2 i tak dalej. Przykładowe wywołanie: magnitude = SWIP5EventMagnitude( event, 'ML' )
- getMagnitudeFromStaMagnitudes
- getMeanMag
- getMomentTensor
- getOrigin
- getPicks
4. Funkcja do pracy na katalogu (wielu wstrząsach)
- forAllEvents
5. Funkcje pomocnicze do manipulacja na parametrach (opcjach) wołania funkcji matlabowej
- arispar
- armanypars
- aroptions
- arparameters
6. Inne funkcje wspomagające przygotowanie danych do pracy w SWIP5 niezwiązane z MatlabQML.
- createXMLShapes
- ISEPOSVelcityModel_to_Vel2Grid