# Basiscursus voor &kst;

Barth Netterfield

    kst@kde.org

Rick Chern

    kst@kde.org

Jaap Woldringh

    jjh.woldringh@planet.nl

2004 De Universiteit van Brits Columbia
&FDLNotice;
2004-06-23
0.98

&kst; is een programma voor het plotten en hanteren van gegevens en heeft veel mogelijkheden door middel van plugins.

KDE kdeextragear kdeextragear-2 Kst plotten plot

## Welkom

Welkom bij &kst;. In een paar minuten kunt u de vele en mooie eigenschappen van dit pakket voor het plotten en het hanteren van gegevens zelf uitproberen. Hier volgen een paar taken die u kunt uitvoeren met &kst;:

- Snel meerdere plots tegelijk maken met alleen de opdrachtregel.

- Gegevens analyseren met behulp van een uitgebreide verzameling van hulpprogramma's, zoals histogrammen, energiespectra en zelf opgegeven vergelijkingen.

- Zonder moeite in- en uitzoomen op interessante gebieden in de plots met de muis of het toetsenbord

- Het bekijken van veranderende gegevens met gebruik van de mogelijkheden die &kst; heeft voor het direct plotten van nieuw aangevoerde gegevens.

Deze cursus behandelt de basis van het installeren, het draaien van en het werken met &kst;. U kunt op elk moment de mogelijkheden verder onderzoeken. Alle mogelijkheden zijn beschreven in het officiële Handboek van Kst, dat u kunt vinden door in &kst; Handboek van Kst te selecteren in het menu Help.

## Installatie

In de meeste gevallen is het uitvoeren van een basisinstallatie van &kst; eenvoudig. De enige vereisten voor &kst; zijn de versies 3.1 of hoger van &kde; en &Qt;. Echter, met met optionele bibliotheken zoals de &GNU; Scientific Library (&GNU; Wetenschappelijke Bibliotheek) wordt het mogelijk &kst; te compileren met extra mogelijkheden voor het ondersteunen van plugins en bestanden. Dit wordt erg aanbevolen omdat deze vereist zijn voor enkele delen van deze cursus.

Gebruikt u een systeem voor pakketbeheer, dan kunt u dat gebruiken voor het installeren van &kst;. Maar bedenk wel dat de daarin beschikbare versie mogelijk niet de laatste is.

Allereerst moet u nagaan of de vereiste &kde;- en &Qt;-bibliotheken op uw systeem aanwezig zijn. &kst; v0.99 heeft &kde; 3.1 en &Qt; 3.1 nodig. Bijna alle belangrijke &Linux;-distributies hebben pakketten voor &kde; en &Qt; en u wordt dus aangeraden in de documentatie bij uw distributie te controleren welke versie van &kde; is geïnstalleerd. Meer informatie kunt u vinden op de webpagina van &kde;.

Met de &GNU; Scientific Library (&GNU; Wetenschappelijke Bibliotheek) krijgt u de beschikking over een groot aantal wiskundige bewerkingen die in de in &kst; aanwezige plugins kunnen worden gebruikt. Deze bibliotheek kunt u vinden op ftp://ftp.gnu.org/gnu/gsl/. U kunt de GSL ook vinden bij `/gnu/gsl` op de "mirrors" (steunpagina's op het web) die genoemd worden op http://www.gnu.org/prep/ftp.html. Haal daar `gsl-[ver].tar.gz` op met [ver] het hoogste versienummer dat daar is te vinden. Daarna moet u het bestand uitpakken en uit het archief halen (unzip en untar):

    tar -zxvf gsl-[ver].tar.gz

waarin u [ver] vervangt door het versienummer van het opgehaalde bestand.

Lees het `INSTALL`-bestand in de resulterende map voor uitvoerige instructies voor de installatie. Op de meeste systemen kunt u op deze manier installeren:

    cd gsl-[ver]
    ./configure
    make
    make install

De tweede optionele (maar sterk aangeraden) bibliotheek is de CFITSIO-bibliotheek. Deze maakt het schrijven naar en het lezen van FITS- bestanden mogelijk (FITS: Flexible Image Transport System: Flexibel systeem voor het overbrengen van afbeeldingen). Deze bibliotheek is te vinden op ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/. Haal daar `cfitsio[ver].tar.gz` op met [ver] het hoogste versienummer dat daar is te vinden. Daarna moet u het bestand uitpakken en uit het archief halen (unzip en untar):

    tar -zxvf cfitsio[ver].tar.gz

waarin u [ver] vervangt door het versienummer van het opgehaalde bestand.

Lees het `README`-bestand in de resulterende map voor uitvoerige instructies voor de installatie. Op de meeste systemen kunt u op deze manier installeren:

    cd cfitsio
    ./configure --prefix=/usr
    make
    make install

Het kan nodig zijn dat u op uw systeem de optie `--prefix` moet wijzigen, maar op de meeste systemen zal `/usr` goed zijn.

Als op uw systeem aan alle vereisten is voldaan kunt u &kst; gaan compileren en installeren. Haal het laatste bronpakket apart op van de &kst;-webpagina . Daarna typt u:

    tar -zxvf kst-[ver].tar.gz
    cd kst-[ver]
    ./configure --enable-final --prefix=`kde-config --prefix`
    make
    make install

waarin u [ver] vervangt door het versienummer van uw &kst;.

Merk op dat `kde-config --prefix` omgeven wordt door aanhalingstekens openen. Het is erg belangrijk dat het hulpprogramma `kde-config` het juiste pad retourneert (hoogstwaarschijnlijk is dit `/usr`), anders zal &kst; niet goed worden geïnstalleerd. U kunt dit extra controleren door de opdracht direct te laten werken:

    kde-config --prefix

Verzeker u ervan dat er een niet-leeg pad wordt getoond.

U kunt de berichten doorlezen die door het script `configure` worden getoond—als ontbrekende bibliotheken worden gemeld (zoals GSL) die niet mogen ontbreken, ga dan terug en controleer of de bibliotheken en de "header"bestanden goed zijn geïnstalleerd en op de juiste plaats. Als de installatie is gelukt kunt u naar het volgende deel gaan van deze cursus.

## Starten van &kst; vanaf de opdrachtregel

&kst; wordt veel gebruikt voor het snel vanaf de opdrachtregel produceren van plots van gegevens. Op deze manier plots maken vergt haast geen enkele kennis van de grafische gebruikersinterface van &kst; en levert toch onmiddellijke en bruikbare resultaten.

In deze cursus wordt een demopakket gebruikt van gegevensbestanden die u hier kunt verkrijgen. Haalt u dit pakket op en pak het uit het archief (untar), waarna u naar de resulterende map gaat:

    tar -zxvf kst_tutorialdata.tgz
    cd kst_tutorialdata

Om een overzicht te verkrijgen van alle opties die voor &kst; op de opdrachtregel beschikbaar zijn typt u:

    kst --help

U ziet dan een beschrijving van de syntax en een lijst van opdrachten die hierop lijkt (zonder de vertalingen uiteraard):

    Usage: kst [Qt-options] [KDE-options] [options] [Files]
    Gebruik: kst [Qt-opties] (KDE-opties  ] [opties  ] [Bestanden]

    Kst: a data viewing program.
    Een programma voor het bekijken van gegevens

    Generic options:
    Algemene opties
      --help                    Show help about options
    Toon helpinformatie over opties
      --help-qt                 Show Qt specific options
    Toon Qt-specifieke opties
      --help-kde                Show KDE specific options
    Toon KDE-specifieke opties
      --help-all                Show all options
    Toon alle opties
      --author                  Show author information
    Toon informatie over auteur
      -v, --version             Show version information
    Toon informatie over versie
      --license                 Show license information
    Toon informatie over licentie
      --                        End of options
    Einde van opties

    Options:
    Opties:
      -F <dataFile>             Specify data file: used to override a kst file default [|]
    Geef gegevensbestand op: gebruikt om kst-standaard te negeren
      -y <Y>                    Field for Y axis (multiple allowed)
    Veld voor Y-as (meerdere toegestaan)
      --ye <equation>           Equation for Y axis (multiple allowed)
    Vergelijking voor Y-as (meerdere toegestaan)
      -e <E>                    Field for Y errors (multiple allowed)
    Veld voor Y-fouten (meerdere toegestaan)
      -x <X>                    Field or range for X axis [INDEX]
    Veld of domein voor X-as [INDEX]
      --xe <X>                  X vector for equations x0:x1:n [INDEX]
    X-vector voor vergelijkingen x0:x1:n [INDEX]
      -p <Y>                    Field for power spectrum (multiple allowed)
    Veld voor energiespectrum (meerdere toegestaan)
      -h <Y>                    Field for histogram (multiple allowed)
    Veld voor histogram (meerdere toegestaan)
      -r <f>                    Sample rate for power spectrum [60.0]
    Bemonsteringssnelheid voor energiespectrum [60.0]
      --ru <U>                  Units for psd sample rate [Hz]
    Eenheden voor bemonsteringssnelheid [Hz]
      --yu <U>                  Units for y vectors [V]
    Eenheden voor y-vectoren [V]
      -l <P>                    Length of FFTs is 2^P [10]
    Lengte van FFT's is 2^p [10]
      -f <F0>                   First frame to read [-2]
    Eerste in te lezen frame
      -n <NS>                   Number of frames to read [-2]
    Aantal in te lezen frames [-2]
      -s <NS>                   Number of frames to skip each read [-1]
    Aantal frames bij elke lezing over te slaan [-1]
      -a                        Apply boxcar filter before skipping frames
    Boxcarfilter toepassen voor het overslaan
      -m <NC>                   Separate plots arranged in <NC> columns
    Aparte plots gerangschikt in <NC> kolommen
      -d                        Display as points rather than curves
    Tonen als punten in plaats van krommen
      -g                        Provide a legend box
    Legenda vak geven
      --print <file>            Print to file and exit [<none>]
    Naar bestand schrijven en afsluiten [<none>]
      --png <file>              Save as a png file and exit [<none>]
    Als een png-bestand opslaan en afsluiten [<none>]

    Arguments:
      Files                     Data files (if -y given) or *.kst file
      Bestanden            Gegevensbestanden (als -y gegeven) of *.kst-bestand

De opties die specifiek zijn voor &kst; worden genoemd in de afdeling `Opties:`. Waar van toepassing worden standaardwaarden aangegeven tussen vierkante haakjes achter de beschrijving van de optie—deze waarden zullen worden gebruikt als geen waarde wordt opgegeven.

We zullen eerst het ASCII-bestand `gyrodata.dat` bekijken, dat is opgenomen in het demopakket. ASCII-bestanden behoren tot de vele bestandstypen die door &kst; kunnen worden gelezen. In ASCII-bestanden worden de gegevens gerangschikt in kolommen, waarbij elke kolom met een veld correspondeert, en de kolomnummers (beginnend met 1 van links naar rechts) met veldnamen overeenkomen. Dit speciale ASCII-bestand heeft 3 kolommen, en dus de veldnamen 1, 2 en 3. Om van de eerste kolom een plot te maken typt u eenvoudig:

    kst -y 1 gyrodata.dat

Alle gegevens in de eerste kolom zullen dan worden geplot:

Merk op dat er voor de x-as van de plot geen veld was opgegeven, zodat &kst; de standaard INDEX-vector heeft gebruikt, zoals verwacht. De INDEX-vector is een bijzondere vector in &kst; met de gehele getallen van 0 tot en met N-1, met N het aantal gegevenswaarden in de overeenkomstige vector voor de y-as. Sluit &kst; af door Afsluiten te selecteren in het menu Bestand, of door op Ctrl Q te drukken.

`gyrodata.dat` bevat 20000 frames zodat u misschien maar een deel van de gegevens wilt bekijken. Om slechts 10000 frames te plotten vanaf frame 7000 typt u:

    kst -y 1 -f 7000 -n 10000 gyrodata.dat

Een van de sterke punten van &kst; is de mogelijkheid om veranderende gegevens direct te plotten ("real-time"). Veronderstel dat voortdurend nieuwe gegevens aan het eind van `gyrodata.dat` worden toegevoegd. In zo'n geval zou het nuttig kunnen zijn als alleen het meest recente deel van de gegevens worden geplot. Om alleen de laatste 10000 frames van `gyrodata.dat` te plotten typt u het volgende in:

    kst -y 1 -n 10000 gyrodata.dat

Indien `gyrodata.dat` voortdurend wordt vernieuwd zullen steeds alleen de laatste 10000 frames worden geplot.

In plaats van de gegevens in te lezen vanuit een invoerbestand kan &kst; zijn ASCII-gegevens krijgen via stdin (gewoonlijk het toetsenbord). Om stdin op te geven als een bron van de invoer geeft u eenvoudig `stdin` op als een van de bestandsnamen. Deze mogelijkheid kan op vele manieren worden gebruikt, zoals het gebruik van &kst; als een onderdeel van een reeks "pipes" (een reeks programma's waarbij de uitvoer van het ene de invoer is van het volgende):

    cat gyrodata.dat | awk '{print $1 + 2}' | kst -y 1 stdin

De bovenstaande opdracht gebruikt `awk` om 2 op te tellen bij kolom 1 van `gyrodata.dat` voordat het resultaat aan &kst; wordt doorgegeven met een "pipe" (de tweede "pipe", weergegeven met de tweede "|").

Merk op dat bij de beschrijving van de `y`-optie staat dat de optie meerdere keren mag worden gebruikt. Hierdoor is het snel plotten van meerdere krommen mogelijk, en zelfs meer dan een plot. Om alle drie de velden te plotten in `gyrodata.dat` in afzonderlijke plots, typt u het volgende:

    kst -y 1 -y 2 -y 3 -m 1 gyrodata.dat

Met de optie `m` wordt aangegeven dat meerdere plots moeten worden gemaakt in plaats van een enkele, zoals hieronder is te zien:

## Een vlugge rondleiding in de Gegevensassistent

Hoewel het werken met &kst; vanaf de opdrachtregel snel en gemakkelijk is kunnen er situaties zijn waarin het eenvoudiger is de gegevens te importeren met behulp van de grafische gebruikersinterface—bijvoorbeeld als u &kst; reeds heeft geopend met andere ingelezen gegevens. Het kan ook zijn dat u gewoon liever de grafische interface gebruikt. Door met beide methodes voor het invoeren van gegevens vertrouwd te raken kunt u effectiever met &kst; werken.

De gegevensassistent geeft een snelle en eenvoudige manier voor het in &kst; maken van vectoren, krommen en plots, uitgaande van gegevensbestanden. Om de assistent te starten selecteert u Gegevensassistent... in het menu Gegevens of klikt u op de knop in de werkbalk. U wordt dan gevraagd een gegevensbron te selecteren. Blader naar het bestand `gyrodata.dat` van de voorbeelden voor de opdrachtregel en klik op Volgende. U ziet dan het volgende venster.

Scherm Gegevensassistent 2
Scherm Gegevensassistent 2

U ziet links de velden die beschikbaar zijn in `gyrodata.dat`. U kunt in de lijst velden selecteren door te filteren met een passende karakterrij (u kunt jokertekens zoals `*` gebruiken) die u invoert in het tekstvak boven de lijst. `*` past bij alles (bijv. voor het selecteren van alle beschikbare velden), waarna u klikt op Selecteer (in dit geval worden dus alle velden geselecteerd).

In de sectie Gegevensgebied wordt het interval opgegeven voor de in te lezen gegevens uit de geselecteerde vectoren in het invoerbestand. In de volgende bespreking wordt verondersteld dat u weet wat frames zijn. In het kort is een frame eenvoudig een aantal gegevensmonsters, en elk gegevensbestand bestaat uit een aantal frames. Voor een uitvoerige beschrijving zie het Handboek van Kst.

Beginframe, Tellen vanaf einde, Aantal frames, en Lezen tot einde

  Met deze vier instellingen kunnen de onder- en bovengrenzen van het gegevensgebied worden ingesteld. Bijvoorbeeld, selecteer Tellen vanaf einde en voer 10000 in voor Aantal frames zodat alleen de laatste 10000 frames worden ingelezen. Als `gyrodata.dat` voortdurend "real-time" zou worden vernieuwd zouden de volgende aanvullingen tot het einde van het bestand worden gelezen.

Lees 1 monster per N frames en Eerst Boxcar-filter

  Naast de onder- en bovengrenzen kan worden ingesteld welke monsters binnen het geselecteerde gebied moeten worden gelezen. Als Lees 1 monster per N frames niet is geselecteerd (met N de ingevoerde waarde) worden alle monsters in dit gebied gelezen. En anders kunnen frames in het gegevensbestand worden overgeslagen door Lees 1 monster per N frames te selecteren. Maar nu zullen we Lees 1 monster per N frames niet selecteren.

De instellingen voor het Energiespectrum en de X-as kunnen worden opgegeven in de sectie Plottypen.

XY, Energiespectrum, en XY en Energiespectrum

  Selecteer XY en Energiespectrum om plots te maken van de gegevens zelf en van het bijbehorende energiespectrum.

X-as vector

  De onafhankelijke vector die voor de plots wordt gebruikt. U kunt een veld selecteren in uw gegevensbestand, of de INDEX-vector gebruiken. Omdat er geen vector voor de X-as aanwezig is in `gyrodata.dat` laten we de selectie van INDEX zo staan.

De subsectie FFT-opties van de sectie Plottypen is alleen beschikbaar als er een energiespectrum moet worden geplot. In deze cursus zullen de details van een energiespectrum niet worden besproken, dus gebruikt u voor deze subsectie de standaard instellingen.

Als u met de instellingen tevreden bent klikt u op Volgende om naar het volgende venster te gaan.

Scherm Gegevensassistent 3
Scherm Gegevensassistent 3

Hierin kunt u de algemene plotinstellingen veranderen. De meeste hiervan wijzen zichzelf. Selecteer 1 nieuwe plot per kromme voor Plaats van kromme en In nieuw venster voor Plaats van plot.

Als u met de instellingen tevreden bent klikt u op Voltooien waarna de plots worden gemaakt:

De gegenereerde plots
De gegenereerde plots

Het maken van deze plots vergde wat inspanning en dus willen we deze &kst;-sessie opslaan (deze zal in het volgende deel van deze cursus worden gebruikt). Selecteer Opslaan als... in het menu Bestand en bewaar de sessie als `mijnkstsessie.kst`:

Opslaan van een KST-sessie
Opslaan van een KST-sessie

Bij het opslaan van een &kst;-sessie worden alle plots, gegevensobjecten (hierover later meer) en indelingen die er op dit moment zijn opgeslagen.

Als het bestand is opgeslagen kunt u &kst; afsluiten.

## De basiskennis voor het manipuleren van plots

Nu u plots kunt maken in &kst; kunnen we enkele mogelijkheden bekijken voor het manipuleren van plots die de grafische gebruikersinterface biedt.Start &kst; vanaf de opdrachtregel met het bestand `mijnkstsessie.kst` dat u eerder heeft opgeslagen:

    kst mykstsession.kst

Alle plots die u eerder heeft gemaakt moeten nu in &kst; worden ingelezen. Bekijk de plot met de tekst bij de y-as "`PSD of Column 2 (V/Hz^{1/2})`" (PSD: Power Spectrum Diagram=plot van het energiespectrum). Om deze plot beter te kunnen bekijken moet u er op rechtsklikken en Maximaliseren selecteren, zoals u hieronder kunt zien:

Een plot maximaliseren
Een plot maximaliseren

De plot is nu in het huidige venster gemaximaliseerd. Merk op dat in deze plot alles boven de 4 Hz er niet erg interessant uitziet, dus kan het nuttig zijn om alleen dat deel van de plot te bekijken dat er belangwekkend uitziet. Om dat te bewerkstelligen moet u naar de XY-muiszoommodus gaan (selecteer XY-muiszoom in het menu Plots of klik op de knop in de werkbalk. Daarna sleept u eenvoudig een rechthoek van ongeveer (4, 0.025) tot (0,0) zoals u hieronder kunt zien. Merk op dat de coördinaten van de muiscursor in de rechteronderhoek van het &kst;-scherm zijn te zien (indien dat niet het geval is controleert u of Statusbalk tonen is geselecteerd in het menu Instellingen).

Inzoomen in een plot
Inzoomen in een plot

De plotassen veranderen mee met het inzoomen op het geselecteerde deel van de plot. Misschien ziet u dat er een piek is aan de linkerkant van het energiespectrum die niet meer past in de nieuwe y-schaal. Laten we veronderstellen dat u de bovenkant van die piek wilt zien. Rechtsklik in de plot en selecteer Naar boven in het submenu Rollen. De plot moet nu naar boven rollen. Natuurlijk is het waarschijnlijk eenvoudiger een sneltoets te gebruiken die behoort bij het menuonderdeel;, dit geldt voor de meeste functies voor het zoomen en rollen. In dit geval is de sneltoets Pijltje naar boven, dus is de snelste manier om naar boven te rollen het ingedrukt houden van de deze toets. U kunt op elk moment naar maximale zoom terugkeren door in de plot te rechtsklikken en Zoom Maximum te selecteren in het submenu Zoom (of druk op M, de sneltoets voor Zoom Maximum).

Herstel de grootte van de plot van het energiespectrum door in de plot te rechtsklikken en Maximaliseren te deselecteren.

Kijk nu naar de plots waarvan bij de y-as de teksten "`Column 2`" en "`Column 3`" staan (kolom 2 en kolom 3). Dit zijn in die volgorde de plots van de "pitch gyro" en de "roll gyro" (pitch en roll is Engels voor het stampen en slingeren van een schip) van de BOOMERANG-vlucht in 1998. Omdat deze plots verband hebben met elkaar kan het nuttig zijn om in deze plots gelijktijdig te zoomen en te rollen. Klik op de vierkantjes in de rechterbovenhoek van de beide plots. Die moeten nu donker gekleurd worden ten teken dat de beide plots nu aan elkaar zijn gekoppeld:

Gekoppeld zoom
Gekoppeld zoom

Voordat wij proberen in te zoomen moeten we alle plots wissen behalve de twee waarmee we werken. Selecteer Indelingsmodus in het menu Plots of klik op de knop in de werkbalk. Rechtsklik op elke plot behalve de twee die we willen behouden en selecteer Wissen. Daarna rechtsklikt u ergens in het huidige venster en selecteert u Basisindeling. Nu moeten de twee plots samen de maximale ruimte in het venster met elkaar delen. Ga terug naar de XY-muiszoommodus als u klaar bent.

Probeer nu ergens in de bovenste plot in te zoomen. U zult merken dat de onderste plot leeg zal worden. Dit komt omdat de assen in de onderste plot mee veranderen met die in de bovenste plot., en er geen gegevens zijn in dat speciale gebied in de onderste plot. Druk op M met de muiscursor boven een van beide plots om weer terug te keren naar maximum zoom in beide plots. Houd nu de Ctrl-toets ingedrukt (dit is gelijk aan het selecteren van de X-Muiszoommodus in het menu Plots of het klikken op de knop in de werkbalk). U zult nu de muiscursor zien veranderen ter controle. Met ingedrukte Ctrl-toets sleept u in de bovenste plot een rechthoek. Merk op dat de hoogte van de gestippelde rechthoek op zo'n manier wordt beperkt dat alleen in de y-richting wordt gezoomd. Nu zullen in beide plots gegevens te zien zijn als er wordt ingezoomd, omdat voor beide plots de y-as niet is veranderd.

U kunt snel alle plots in het venster met elkaar koppelen door Gekoppeld zoom te selecteren in het menu Plots of door op de knop te klikken in de werkbalk.

Wanneer u klaar bent met het uitproberen van de zoommogelijkheden kunt u &kst; afsluiten. Deze keer is het niet nodig de plots op te slaan (behalve als u dit wenst).

## Een kort overzicht van de gegevensobjecten

Met &kst; kan meer dan eenvoudig plotten en bekijken van gegevens. Bij de Gegevensassistent heeft u al gezien dat het in &kst; mogelijk is om energiespectra te berekenen van gegevens. In feite kunnen met &kst; ook andere gegevensobjecten worden gemaakt zoals histogrammen, vergelijkingen en plugins. Een hulpprogramma met de naam Gegevensbeheerder kan helpen om een overzicht te bewaren over alle gegevensobjecten die u maakt.

Start &kst; met het bestand `demo.kst` dat in het demopakket aanwezig is:

    kst demo.kst

Kst met demo.kst
Kst met demo.kst

In deze sessie van &kst; zijn vectoren en andere gegevensobjecten aanwezig die gemaakt zijn met gegevens in `gyrodata.dat`. In de bovenste plot zijn de azimutgegevens, in de middelste plot in blauw de "pitch"gegevens en in de onderste plot in blauw het energiespectrum van de "pitch"gegevens. Laten we de plots eens nader beschouwen. Koppel de twee bovenste plots op de manier die in de vorige sectie is besproken. Daarna houdt u de Ctrl-toets ingedrukt om in de X-muiszoommodus te komen. Zoom nu in op een klein gebiedje in de bovenste plot (laten we zeggen van 50000 tot 53000), zodat in beide gekoppelde plots wordt gezoomd. U zult zien dat de blauwe "pitch"kromme negatief samenhangt met de rode azimutkromme. Dit is omdat de "pitch gyro" een klein beetje was gedraaid ten opzichte van de azimut-as (over -0,69 graden). De ware "pitch" `p'` is:

met `p` de originele pitch, de verdraaiing van de pitchgyro ten opzichte van de azimut-as en `a` de azimutgyro. `p'` wordtgeplot als de zwarte kromme in de middelste plot. Het energiespectrum van `p'` is de zwarte kromme in de onderste plot.

Laten we nu eens kijken hoe de drie plots gemaakt zijn. Om in de Gegevensbeheerder te komen selecteert u Gegevensbeheerder... in het menu Gegevens of klikt u op de knop in de werkbalk:

De Gegevensbeheerder
De Gegevensbeheerder

De Gegevensbeheerder bevat de precieze lijst van gegevensobjecten in de huidige &kst;-sessie. U kunt hierin ook gegevensobjecten bewerken of nieuwe maken. Zoals u kunt zien zijn er drie krommen (elk gemaakt met behulp van een paar vectoren), een vergelijking, twee energiespectra en vier gegevensvectoren in de lijst. Rechtsklik op "C2-GY_PITCH" en selecteer W1-P1 in het submenu Verwijderen uit plot. Hierdoor wordt de kromme uit plot P1 in venster W1 verwijderd. Verwijder op dezelfde manier ook "PSD2-V3-GY_PITCH" uit plot P3 in venster W1. In de plots moeten nu alleen de gecorrigeerde krommen aanwezig zijn:

Alleen gecorrigeerde krommen
Alleen gecorrigeerde krommen

Om te zien hoe de gecorrigeerde pitchgyro werd gemaakt selecteer "C4-cleaned_pitch" en klik op de knop Bewerken. U moet nu de dialoog Vergelijking bewerken zien:

Vergelijking bewerken
Vergelijking bewerken

Merk op dat de vergelijking die werd gebruikt voor het berekenen van `p'` ingevoerd was in het tekstvak van Vergelijking (`cos(-0.69)` werd hierin door 1 benaderd). U kunt met de instellingen in deze dialoog experimenteren. Klik op OK (om eventuele instellingen te bewaren) of op Annuleren als u klaar bent.

Merk op dat voor alle gegevensobjecten een getal wordt genoemd in de kolom # Gebruikt. Dit getal geeft het aantal keren aan dat het gegevensobject wordt gebruikt door andere gegevensobjecten of in plots. Omdat we een kromme en een energiespectrum hebben verwijderd moet er in deze kolom bij ten minste twee gegevensobjecten het getal 0 staan. Klik op Opruimen om alle ongebruikte gegevensobjecten permanent te verwijderen.

Klik op Afsluiten voor het afsluiten van de Gegevensbeheerder. U kunt nu als u dit wenst &kst; verlaten.

## Een blik op plugins en gebeurtenissen

We zullen onze reis door &kst; beëindigen door een blik te werpen op twee bepaalde gegevenstypen—plugins en gebeurtenismonitors.

Een plugin is een flexibel gegevensobject waarvan het gedrag geheel afhangt van het specifieke pluginbestand. Dit pluginbestand kan standaard met &kst; zijn meegeleverd, of het kan door derden zijn geleverd. In feite kunt u in het Handboek van Kst instructies vinden hoe u zelf plugins kunt schrijven en compileren. Met plugins kan &kst; allerlei bewerkingen uitvoeren op een verzameling van gegevens, omdat de enige eisen waaraan een plugin moet voldoen zijn dat de plugin een verzameling van invoervectoren en -scalairen ontvangt, en een verzameling van vectoren en scalairen uitvoert.

Als voorbeeld zullen we proberen een eenvoudige rechte lijn aan te passen aan een kleine verzameling van gegevenspunten. Start &kst; met een plot van het eerste veld in het gegevensbestand `maxima.dat` dat meegeleverd is in het demopakket:

    kst -y 1 -d maxima.dat

Met de optie `d` wordt aangegeven dat alleen punten moeten worden geplot, en geen lijnen. De plot van de gegevenspunten moet nu te zien zijn:

Plot van gegevenspunten
Plot van gegevenspunten

Open nu de Bestandsbeheerder. Klik op Plugin... in de sectie Nieuw om een nieuw pluginobject te maken. Selecteer de plugin Aanpassen lineairin de sectiePluginselectie. Deze plugin heeft twee invoervectoren nodig—een met de x-waarden en een met de y-waarden van de aan te passen gegevenspunten. Selecteer V1-INDEX voor de Invoervector - X-rij en V2-1 voor de Invoervector - Y-rij. Klik daarna op OK. U zult merken dat de nieuwe plugin hulpvectoren heeft gemaakt om daarin de uitvoer op te slaan. Klik op Kromme... om een nieuwe kromme te maken met behulp van de uitvoervectoren.Selecteer V1-INDEX voor de X-asvector en P1-kstfit_linear_unweighted-Y Fitted voor de Y-asvector. We willen de kromme plaatsen bovenop de gegevenspunten in de bestaande plot, dus selecteren we Plaatsen in bestaande plot in Plaatsing kromme, en deselecteren we Plaatsen in nieuwe plot. Klik tenslotte op OK om de nieuwe kromme te maken. Sluit de Gegevensbeheerder af om de aangepaste lijn te bekijken:

Aangepaste lijn
Aangepaste lijn

Met een soortgelijke werkwijze als hiervoor kunt u de uitvoer maken en plotten van elk type pluginobject. Voor het maken van aanpassingsplugins is er echter een snellere methode. Door rechts te klikken in een plot krijgt u een contextmenu met een submenu Aanpassen.... Door een kromme te selecteren in het submenu krijgt u de dialoog Functie aanpassen waarin de x- en y- vectoren reeds zijn geselecteerd. Nadat de aanpassingsplugin is geselecteerd wordt na het klikken op OK het pluginobject gemaakt, de kromme gemaakt met behulp van de uitvoer van de plugin en de kromme in de bestaande plot geplaatst.

Nu zullen we gebeurtenissen gaan bekijken. Gebeurtenisobjecten monitoren (volgen) gewoonlijk andere vectoren of scalairen en voeren opgegeven acties uit wanneer bepaalde condities met betrekking tot die vectoren en scalairen waar worden. Klik op Gebeurtenis monitor... in de sectie Nieuw van de Gegevensbeheerder om een nieuwe gebeurtenis te maken:

Gebeurtenis monitor
Gebeurtenis monitor

Stel dat de gegevens voor de pitch gyro "real-time" worden vernieuwd en dat we het willen weten wanneer de gecorrigeerde waarde hiervoor buiten het interval `[-0.60, -0.40]` komt. Om de gebeurtenis zo in te stellen voert u het volgende in in het tekstvak Expressie:

`[C4-cleaned_pitch-sv]>(-0.40) | [C4-cleaned_pitch-sv]<(-0.60)`

Merk op dat alleen Boolese expressies mogen worden ingevoerd. Deze expressie krijgt de waarde waar zodra een van de ongelijkheden waar wordt. Selecteer zowel Log als en Bericht sturen, en vul uw emailadres in rechts van het keuzevakje voor Bericht sturen, en hiermee wordt de gebeurtenis gemaakt.

Selecteer nu Kst debuggen... in het menu Help. Klik op het tabblad Log om de debuglog te bekijken. Als de gebeurtenis goed is ingesteld moet u nu waarschuwingen zien samen met de x-waarden waarvoor de gebeurtenis actief werd. Controleer of deze waarden enigszins overeenkomen met de waarden die u verwacht als u de plot bekijkt:

Debuglog
Debuglog

Indien de gegevens voor de pitchgyro in "real-time"zouden worden vernieuwd zou de gebeurtenismonitor ook actief worden als nieuwe gegevens daar aanleiding toe geven.

Als u klaar bent kunt &kst; afsluiten.

## Afsluiting

Hiermee zijn we aan het einde gekomen van de basiscursus voor &kst;. Hopelijk heeft u genoeg kennis vergaard dat u nu vertrouwd bent geworden met &kst;. Denkt u eraan dat in deze basiscursus niet alles over &kst; aan bod is gekomen—er is nog veel te onderzoeken en te experimenteren over gebleven. Het Handboek voor Kst, dat beschikbaar is in het Help-menu van &kst; kan u diepgaand loodsen door begrippen die variëren van de basis van vensterindeling tot het zelf maken van plugins, en leesprogramma's voor gegevensbronnen. Wij moedigen u aan om &kst; op interessante en vernieuwende manieren te gebruiken—u zult waarschijnlijk ontdekken dat het programma niet alleen aan uw wensen en eisen tegemoet komt, maar die zelfs overstijgt.

## Dankbetuigingen en Licentie

Deze cursus is gebaseerd op het originele "&kst; Quick Tour" geschreven door Barth Netterfield.

&underFDL;