# &kst; handledning

## Välkommen

Välkommen till &kst;! På några få minuter kommer du att vara på väg att utforska de talrika funktionerna i detta diagramritnings- och datahanteringspaket. Här är bara några av de uppgifter du kan åstadkomma med &kst;:

- Snabbt rita upp flera diagram bara med användning av kommandoraden.

- Analysera data med en omfattande uppsättning verktyg, inklusive histogram, effektspektrum och egna ekvationer.

- Zooma in och ut intressanta områden i diagram utan ansträngning, genom att antingen använda musen eller tangentbordet.

- Bevaka rörlig strömmande data med möjligheterna till realtidsuppritning i &kst;.

Denna handledning täcker grunderna i att installera, köra och arbeta med &kst;. Den är baserad på snabbtur genom &kst; av Barth Netterfield. Du inbjuds att ytterligare utforska vilken funktion som helst när som helst. Alla funktioner finns dokumenterade i resten av den här handboken.

## Starta &kst; från kommandoraden

En vanlig användning av &kst; är att snabbt skapa diagram med data från kommandoraden. Det här sättet att skapa diagram kräver nästan ingen kunskap om det grafiska gränssnittet i &kst;, men skapar ändå omedelbart användbara resultat.

Den här handledningen använder ett demonstrationspaket med datafiler som installeras med &kst; i `$`KDEDIR`/share/apps/kst/tutorial`, där `$`KDEDIR`` är platsen där &kde; är installerad på ditt system (du kan hitta den med kommandot `kde-config --prefix`).

Om du har en version av &kst; äldre än 1.1.0, hittar du handledningens data direkt på http://omega.astro.utoronto.ca/kst/tutorial/kst_tutorialdata.tgz. Ladda ner och packa upp paketet, och gå till resulterande katalog:

    tar -zxvf kst_tutorialdata.tgz
    cd kst_tutorialdata

För att få en översikt över alla tillgängliga kommandoradsväljare i &kst;, skriv:

    kst --help

En syntaxbeskrivning och lista med kommandon som liknar det följande visas:

    Användning: kst [Qt-väljare] [KDE-väljare] [väljare] [Files]

    Kst: ett datavisningsprogram

    Generella väljare:
      --help                    Visa hjälp om väljare
      --help-qt                 Visa väljare specifika för Qt
      --help-kde                Visa väljare specifika för KDE
      --help-all                Visa alla väljare
      --author                  Visa information om upphovsman
      -v, --version             Visa versionsinformation
      --license                 Visa licensinformation
      --                        Slut på väljare

    Väljare:
      -F <dataFile>             Ange datafil: används för att överskrida förvald Kst-fil [|]
      -y <Y>                    Fält för Y-axel (flera tillåts)
      --ye <equation>           Ekvation för Y-axel (flera tillåts)
      -e <E>                    Fält för Y-fel (flera tillåts)
      -x <X>                    Fält eller intervall för X-axel [INDEX]
      --xe <X>                  X-vektor för ekvationer x0:x1:n [INDEX]
      -p <Y>                    Fält för effektspektrum (flera tillåts)
      -h <Y>                    Fält för histogram (flera tillåts)
      -r <f>                    Samplingsfrekvens för effektspektrum [60.0]
      --ru <U>                  Enheter för samplingsfrekvens för spektral effekttäthet [Hz]
      --yu <U>                  Enheter för Y-vektorer [V]
      -l <P>                    FFT-längden är 2^P [10]
      -f <F0>                   Första post att läsa [-2]
      -n <NS>                   Antal poster att läsa [-2]
      -s <NS>                   Antal poster att hoppa över för varje läsning [-1]
      -a                        Applicera lågpassfilter innan poster hoppas över
      -m <NC>                   Separata diagram arrangerade i antalet kolumner
      -d                        Visa som punkter istället för kurvor
      -g                        Visa i förklaringsruta
      --print <file>            Skriv ut till fil och avsluta [<none>]
      --png <file>              Spara som en PNG-fil och avsluta [<none>]

    Parametrar:
      Files                     Datafiler (om -y angivet) eller *.kst-fil

Väljare specifika för &kst; listas under avdelningen `Väljare:`. Där det passar anges standardvärden med hakparenteser i slutet på beskrivningen av väljaren. Dessa värden används för väljare som inte anges.

Först tar vi en titt på ASCII-filen `gyrodata.dat`, som ingår i demonstrationspaketet. ASCII-filer är en av de många filtyper som &kst; kan läsa. I ASCII-filer är data arrangerat i kolumner, där varje kolumn motsvarar ett fält, och kolumnnumren (med början på 1 från vänster till höger) motsvarar fältnamnen. Den här speciella ASCII-filen innehåller tre kolumner, och har alltså fältnamnen 1, 2 och 3. För att skapa ett diagram med den första kolumnen, skriv helt enkelt:

    kst -y 1 gyrodata.dat

All data i den första kolumnen ritas upp:

Observera att inget fält angavs för diagrammets X-axel, så &kst; använde den förvalda vektorn INDEX, som förväntat. INDEX-vektorn är en speciell vektor i &kst; som innehåller heltal från 0 till N-1, där N är antalet datavärden i motsvarande vektor för Y-axeln. Stäng &kst; genom att välja Avsluta i menyn Arkiv, eller genom att skriva Ctrl Q.

`gyrodata.dat` innehåller 20000 poster, så du kanske bara vill titta på en del av indata. För att bara rita upp 10000 poster, med början på post 7000, skriv:

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

En av styrkorna med &kst; är dess möjlighet att rita upp realtidsdata. Anta att ny data hela tiden lades till i slutet på `gyrodata.dat`. Med ett sådant scenario, skulle det vara användbart att bara rita upp den senaste delen av data. För att bara rita de senaste 10000 posterna i `gyrodata.dat`, skriv in följande:

    kst -y 1 -n 10000 gyrodata.dat

Om `gyrodata.dat` uppdaterades, skulle diagrammet fortsätta att röra sig för att bara visa de sista 10000 posterna.

Istället för att direkt läsa en indatafil, kan &kst; använda ASCII-data från standardinmatningen som en datakälla. För att ange standardnmatningen som indata, skriv helt enkelt `stdin` som ett av filnamnen. Det finns många användningar av den här möjligheten, som att använda &kst; som en del av en följd av ihopkopplade program:

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

Kommandot ovan använder `awk` för att lägga till 2 i första kolumnen av `gyrodata.dat` innan resultatet skickas vidare till &kst;.

Observera att beskrivningen av väljaren `y` anger att flera förekomster av väljaren tillåts. Det gör det möjligt att snabbt rita upp mer än en kurva, eller till och med mer än ett diagram. För att rita upp alla tre fälten i `gyrodata.dat` i separata diagram, skriv in följande:

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

Väljaren `m` anger att skilda diagram ska användas istället för ett enda diagram, som visas nedan:

## En snabbtur i Dataguiden

Även om det är snabbt och bekvämt att använda &kst; från kommandoraden, kan det finnas situationer då det är enklare att importera data från det grafiska användargränssnittet, till exempel om du redan har &kst; öppet med annan data laddad. Eller du kanske helt enkelt föredrar att använda det grafiska användargränssnittet. Genom att bli bekant med båda sätten att importera data, kan du använda &kst; effektivare.

Dataguiden tillhandahåller ett snabbt och enkelt sätt att skapa vektorer, kurvor och diagram i &kst; från datafiler. För att starta guiden, välj Dataguide... i menyn Data eller klicka på knappen på verktygsraden. Du blir tillrågad om att välja en datakälla. Bläddra till filen `gyordata.dat` som används för kommandoradsexemplen och klicka på Nästa. Följande fönster visas:

Dataguidens andra skärm Dataguidens andra skärm

Fälten som är tillgängliga i `gyrodata.dat` listas till vänster. Du kan filtrera listan med markerade fält genom att skriva in en sträng att matcha i textrutan ovanför listan (jokertecken som `*` stöds). Markera rutorna för fälten 1, 2 och 3.

Avdelningen Dataintervall används för att ange dataintervallet som ska läsas för de valda vektorerna i indatafilen. Följande beskrivning förutsätter kännedom om poster. I korthet är en post helt enkelt ett antal datasamplingar, och varje datafil består av ett antal poster. För en detaljerad beskrivning av begreppet, se supportingadditionalfileformatsdatasourceconceptsframes.

Start, Räkna från slutet, Antal poster och Läs till slutet

- Genom att använda de här fyra inställningarna, kan nedre och övre gräns för dataintervallet anges. Välj till exempel Räkna från slutet och skriv in 10000 som Antal poster för att bara läsa de sista 10000 posterna. Om `gyrodata.dat` uppdaterades i realtid, skulle ytterligare tillägg i slutet på filen läsas.

Läs en sampling per N poster och Lågpassfilter först

- Förutom nedre och övre gräns för dataintervallet, kan samplingarna som ska läsas från det valda intervallet anges. Om Läs en sampling per N poster (där N är det angivna värdet) inte är markerad, läses alla samplingar i det valda intervallet. Som alternativ, kan poster i datafilen hoppas över genom att markera Läs en sampling per N poster. Avmarkera för tillfället Läs en sampling per N poster.

Effektspektrum och X-axelinställningar kan anges i avdelningen Diagramtyper.

X-Y, Effektspektrum och X-Y och effektspektrum

- Välj X-Y och effektspektrum för att skapa diagram både med data själv och dess effektspektrum. För mer information om alternativ tillgängliga med effektspektrum, se power-spectra.

X-axelvektor

- Vektorn kan användas som oberoende vektor för diagrammen. Du kan välja ett fält från datafilen, eller INDEX-vektorn. Eftersom `gyrodata.dat` inte innehåller en X-axelvektor, lämna kvar valet INDEX.

Avdelningen FFT-alternativ i dataguiden är bara tillgängligt om ett effektspektrum ska ritas upp. Den här guiden beskriver inte effektspektrum i detalj, så använd förvalda inställningar för den här avdelningen.

När du väl är nöjd med alla inställningar, klicka på Nästa för att gå till nästa fönster.

Dataguidens tredje skärm Dataguidens tredje skärm

Härifrån kan du ändra allmänna diagraminställningar. De flesta inställningar är självklara. Välj Ett nytt diagram per kurva för Kurvans placering och I nytt fönster för Diagramplacering. Det placerar alla sex diagrammen (tre kurvor och tre effektspektrum) i samma fönster.

När du väl är nöjd med alla inställningar, klicka på Slutför så skapas diagrammen:

De skapade diagrammen De skapade diagrammen

Att skapa diagrammen krävde en viss ansträngning, så vi borde spara nuvarande session i &kst; (den används i handledningens nästa avsnitt). Välj Spara som... i menyn Arkiv, och spara sessionen som `min_kst_session.kst`.

Spara en Kst-session Spara en Kst-session

Att spara en session i &kst; sparar alla diagrammen, dataobjekten (du får lära dig om dem senare), och layouter som finns vid tillfället när sessionen sparas.

När filerna väl har sparats, kan du avsluta &kst;.

## Grundläggande diagramhantering

Nu när du bekvämt kan skapa diagram i &kst;, kan vi utforska några av funktionerna för diagramhantering som finns i det grafiska gränssnittet i &kst;. Starta &kst; från kommandoraden med filen `min_kst_session.kst` som du tidigare sparade:

    kst min_kst_session.kst

Alla diagram du tidigare skapade ska nu vara laddade i &kst;. Titta på diagrammet med texten `PSD (V/Hz^{1/2})` på Y-axeln. För att närmare titta på diagrammet, högerklicka på det och välj menyalternativet Maximera, som visas nedan:

Maximera ett diagram Maximera ett diagram

Diagrammet är nu maximerat i nuvarande fönster. Observera att allt för höga X-värden är diagrammet nästan helt jämnt, så det vore användbart att bara titta på området i diagrammet som ser intressant ut. För att göra det, försäkra dig om att du är i XY-muszoomläge (välj XY-muszoom i menyn Diagram, eller klicka på knappen i verktygsraden). Dra därefter helt enkelt en rektangel från ungeför (4, 0,0025) till (0,0) som visas nedan. Observera att muspekarens koordinater visas i nedre högra hörnet i fönstret i &kst; (om de inte är det, försäkra dig om att Visa statusrad är markerat i menyn Inställningar).

Diagramaxlarna ändras för att zooma in på det valda området i diagrammet. Du kanske märker att det finns en topp i vänsterkanten av effektspektrum som går förbi den nya gränsen för Y-axeln. Antag att du vill titta på högsta punkten av toppen. Högerklicka på diagrammet och välj Upp i undermenyn Panorera. Diagrammet ska flyttas uppåt. Det är förstås troligen enklare att använda snabbtangenten som hör ihop med menyalternativet. Det gäller för de flesta av zoomnings- och panoreringsfunktionerna. I detta fall är snabbtangenten Uppåtpil, så det snabbaste sättet att flytta uppåt är att hålla nere tangenten Uppåtpil. För att när som helst återgå till maximal zoomning, högerklicka på diagrammet och välj Zooma maximalt i undermenyn Zooma (eller tryck på M, snabbtangenten som hör ihop med Zooma maximalt).

Återställ storleken på diagrammet med effektspektrum genom att högerklicka på diagrammet och avmarkera Maximera.

Titta nu på diagrammen med Y-axlarna som heter `Kolumn 2` och `Kolumn 3`. De är diagram av tippgyrot och rollgyrot, från flygningen av BOOMERANG 1998. Eftersom de två diagrammen hör ihop, kan det vara användbart att zooma och panorera dem samtidigt. Klicka på fyrkanterna som finns i övre högra hörnen på de två diagrammen. De ska nu få en mörk färg för att ange att de två diagrammen hör ihop:

Bunden zoomning Bunden zoomning

Innan vi försöker zooma in, ska vi ta bort alla diagram förutom de två vi arbetar med. Välj Layoutläge i menyn Diagram eller klicka på knappen i verktygsraden. Högerklicka på diagrammen och välj Ta bort, för alla diagram utom de två vi vill behålla. Högerklicka därefter var som helst i nuvarande fönster och välj Rensa layout. Nu bör de två diagrammen dela på hela utrymmet inne i fönstret. Återgå till XY-muszoom när du är klar.

Försök nu zooma in på någon del av det övre diagrammet. Du märker att det undre diagrammet blir tomt. Det beror på att de undre diagramaxlarna har ändrats för att stämma med de övre diagramaxlarna, och det finns ingen data i just det området i det undre diagrammet. Tryck på M medan muspekaren är över endera diagrammet för att återgå till maximal zoomning för båda diagrammen. Håll nu nere Ctrl (det motsvarar att välja X-muszoom i menyn Diagram eller att klicka på knappen i verktygsraden). Muspekaren ändrar form för visuell återmatning. Medan du håller nere tangenten Ctrl, rita en rektangel i det övre diagrammet. Observera att den streckade rektangelns höjd är begränsad så att bara X-axeln kommer att zoomas. Nu visar båda diagrammen data när de zoomas in, eftersom Y-axeln för något av diagrammen inte ändrades.

Du kan snabbt binda eller lösgöra alla diagrammen i fönstret genom att välja Bunden zoom i menyn Diagram eller genom att klicka på knappen i verktygsraden.

När du är klar med att experimentera med zoomningsfunktionerna, kan du stänga &kst;. Det finns ingen anledning att spara diagrammen den här gången (om du inte vill).

## En kort översikt över dataobjekt

Det finns mer i &kst; än bara enkel uppritning och visning av data. I dataguiden har du redan sett att &kst; har möjlighet att skapa effektspektrum för data. I själva verket kan &kst; också skapa andra dataobjekt som histogram, ekvationer och insticksprogram. Ett verktyg som kallas Datahantering kan hjälpa dig hålla reda på alla dataobjekt du skapar.

Starta &kst; med filen `demo.kst`, som ingår i demonstrationspaketet:

    kst demo.kst

Kst med demo.kst Kst med demo.kst

Den här sessionen i &kst; innehåller vektorer och andra dataobjekt som skapas från data i `gyrodata.dat`. Det övre diagrammet innehåller azimutdata, diagrammet i mitten innehåller tippdata i blått, och det undre diagrammet visar effektspektrum för tippdata i blått. Låt oss först undersöka diagrammen noggrannare. Koppla ihop de två övre diagrammen med tekniken som du lärde dig i föregående avsnitt. Håll därefter ner Ctrl för att använda X-muszoom. Zooma nu in på ett litet område i det övre diagrammet (exempelvis från 50000 till 53000), för att få båda bundna diagrammen att zooma. Du märker att den blåa tippkurvan har en negativ korrelation med den röda azimutkurvan. Det beror på att tippgyrot var något lutat i förhållande till azimutaxeln (med ungefär 0,69 grader). Det verkliga tippvärdet `p'` är: där `p` är ursprungligt tippvärde. är rotationen hos tippgyrot i förhållande till azimutaxeln, och `a` är azimutgyrot. `p'` ritas upp som den svarta kurvan i mittendiagrammet. Effektspektrum för `p'` är den svarta kurvan i diagrammet längst ner.

Låt oss nu ta en titt på hur de tre diagrammen skapades. För att visa datahanteringen, välj Datahantering... i menyn Data, eller klicka på knappen i verktygsraden:

Datahantering Datahantering

Datahanteringen innehåller den fullständiga listan med dataobjekt i nuvarande session i &kst;. Den låter dig också redigera och skapa nya dataobjekt. Som du kan se, finns det tre kurvor (var och en skapad från ett par vektorer), en ekvation, två effektspektrum och fyra datavektorer i listan. Högerklicka på C2-GY_PITCH och välj W1-P1 i undermenyn Ta bort från diagram. Det tar bort kurvan från diagrammet P1 i fönstret W1. Ta också bort PSD2-V3-GY_PITCH från diagrammet P3 i fönstret W1 med samma procedur. Nu ska bara de korrigerade kurvorna visas i diagrammen:

Bara korrigerade kurvor Bara korrigerade kurvor

För att se hur det korrigerade tippgyrot skapades, markera C4-cleaned_pitch och klicka på knappen Redigera. Dialogrutan Redigera ekvation ska visas:

Redigera ekvation Redigera ekvation

Observera att ekvationen som används för att beräkna `p'` skrevs in i textrutan Ekvation (approximationen 1 användes för `cos(-0,69)`). Tveka inte att experimentera med inställningarna i dialogrutan. Klicka på Ok (för att spara eventuella ändringar som gjorts) eller Avbryt när du är klar.

Observera att alla dataobjekt har ett tal som anges i kolumnen Antal använda. Talet anger antal gånger som dataobjektet antingen används av andra dataobjekt eller av diagram. Eftersom vi tog bort en kurva och ett effektspektrum, ska åtminstone två dataobjekt ha 0 angivet i kolumnen. Klicka på Rensa för att ta bort alla oanvända dataobjekt permanent.

Klicka på Stäng för att stänga datahanteringen. Du kan avsluta &kst; nu om du önskar.

## En titt på insticksprogram och händelser

Vi slutar vår resa genom &kst; genom att titta på två specifika typer av data: insticksprogram och händelsebevakning.

Ett insticksprogram är ett flexibelt dataobjekt, vars beteende helt och hållet beror på den specifika insticksprogramfilen som väljs. Insticksprogrammet kan vara ett som ingår i den vanliga distributionen av &kst;, eller en insticksprogramfil från tredje part. Du hittar instruktioner om hur man skriver och kompilerar egna insticksprogramfiler i creatingplugins. Insticksprogram låter &kst; utföra godtyckliga operationer på en datamängd, eftersom det enda kravet på insticksprogram är att de tar emot en uppsättning indatavektorer och skalärer, och ger en uppsättning utdatavektorer och skalärer.

Som ett exempel ska vi försöka anpassa en enkel linje till en liten mängd datapunkter. Starta &kst; med ett diagram av första fältet i datafilen `maxima.dat` som ingår i demonstrationspaketet:

    kst -y 1 -d maxima.dat

Väljaren `d` anger att bara punkter ska ritas upp, inte linjer. Diagrammet med datapunkter ska nu visas:

Diagram med datapunkter Diagram med datapunkter

Öppna nu datahanteringen, Klicka på Insticksprogram... i avdelningen Ny för att skapa ett nytt insticksprogramobjekt. Under Insticksprogramval, välj insticksprogrammet Linjär anpassning. Just det här insticksprogrammet kräver två indatavektorer, en som innehåller X-värden och en annan som innehåller Y-värden för datapunkterna som ska anpassas. Välj V1-INDEX för Indatavektor - X-fält och V2-1 för Indatavektor - Y-fält. Klicka därefter på Ok. Du märker att det nya insticksprogramobjektet har skapad slavvektorer för att lagra utdata. Klicka på Kurva... för att skapa en ny kurva från utdatavektorerna. Välj V1-INDEX för X-axelvektor och P1-kstfit_linear_unweighted-Y Fitted för Y-axelvektor. Vi vill placera kurva ovanpå datapunkterna i det befintliga diagrammet, så markera Placera i befintligt diagram och avmarkera Placera i nytt diagram under Kurvans placering. Klicka till sist på Ok för att skapa kurvan. Stäng datahanteringen för att titta på den anpassade linjen:

Anpassad linje Anpassad linje

En procedur som liknar den du just följt låter dig skapa och rita upp utdata från vilken typ av insticksprogramobjekt som helst. Det finns dock en genväg för att skapa insticksprogram för anpassning. Genom att högerklicka på ett diagram visas den sammanhangsberoende menyn, som innehåller undermenyn Anpassa.... Genom att välja en kurva i undermenyn, visas dialogrutan Anpassa funktion med förvalda X- och Y-vektorer. Efter insticksprogrammet för anpassning är valt, skapas insticksprogramobjektet, kurvan från insticksprogrammets utdata och kurvan placeras i befintligt diagram genom att klicka på knappen Ok.

Låt oss nu ta en titt på händelser. Händelseobjekt bevakar ofta andra vektorer eller skalärer och utför angivna åtgärder när vissa villkor som rör dessa vektorer eller skalärer är sanna. Klicka på Händelsebevakning... i avdelningen Ny i datahanteringen för att skapa en ny händelse:

Händelsebevakning Händelsebevakning

Antag att tippgyrots data uppdaterades i realtid, och att vi vill bli underrättade så fort det korrigerade tippgyrovärdet hamnar utanför området `[-0,60, -0,40]`. För att ställa in händelsen på så sätt, skriv in följande i textrutan Uttryck:

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

Observera att allt som skrivs in som ett uttryck måste vara ett Booleskt uttryck. Just det här uttrycket utvärderas som sant så fort någon av olikheterna är sanna. Välj både Logga som och Meddela, och skriv in din e-postadress till höger om kryssrutan Meddela. Klicka på Ok, så skapas händelsen.

Välj nu Felsökning av Kst... i menyn Hjälp. Klicka på fliken Logg för att visa felsökningsloggen. Om händelsen har ställts in riktigt, ska du se varningar som anger de X-värden som händelsen aktiverades för. Kontrollera att värdena grovt stämmer överens med de du kan vänta dig från att titta på diagrammet:

Felsökningslogg Felsökningslogg

Om tippgyrodata uppdaterades i realtid, skulle händelsebevakningen också aktiveras för eventuell ny data när det behövs.

När du är klar, kan du avsluta &kst;.

## Avslutning

Detta avslutar &kst; handledningen. Förhoppningsvis har du fått tillräckligt med kunskap för att kunna använda &kst; bekvämt. Kom ihåg att handledningen inte täcker alla funktioner i &kst;. Det finns fortfarande mycket att utforska och experimentera med. Resten av handboken är en omfattande guide till begrepp som sträcker sig från grundläggande fönsterlayout till att skapa egna insticksprogram och läsare av datakällor. Du uppmuntras att använda &kst; på intressanta och uppfinningsrika sätt: du kommer troligen märka att det inte bara uppfyller, utan överträffar dina behov och krav.