# Arbeta med data

## Översikt av dataobjekt

Vi kallar alla objekt i &kst; som visas i Datahanteringen för dataobjekt. Det finns tio huvudtyper av dataobjekt i &kst;. Följande diagram åskådliggör förhållandet mellan de olika typerna.

Datatyper i &kst;

Som framgår av diagrammet är de enda verkligt uppritningsbara dataobjekten kurvor och bilder. Många dataobjekt innehåller dock slavvektorer som kan ritas upp med hjälp av kurvor, så dessa dataobjekt kan också i själva verket ritas upp.

Det användbara hos konceptet med dataobjekt i &kst; är att de kan knytas ihop för att skapa kopplingar. Ett händelsebevakningsobjekt kan till exempel använda utdata från ett annat objekt som indata. Uppdateringar av objekt i kopplingen fortplantas automatiskt. Det är en av nyckelfunktionerna som gör &kst; så kraftfullt vid uppritning i realtid.

### Datahanteringen

Datahanteringen tillhandahåller en central plats för att lägga till, ta bort och ändra alla dataobjekt som används i &kst;. Den kan kommas åt från menyn Data Datahantering.

Datahanteringen
Datahanteringen

Rutan till vänster i datahanteringen kan användas för att snabbt skapa nya dataobjekt. Knappen Rensa tar automatiskt bort dataobjekt som inte är använda. Knapparna Redigera och Ta bort låter dig selektivt redigera eller ta bort vissa objekt. Knappen Stäng avslutar datahanteringen.

Du kan också skapa nya dataobjekt som är baserade på vektorer genom att högerklicka på motsvarande vektor och välja ett av alternativen Skapa .... Om du å andra sidan väljer en kurva, har du möjlighet att lägga till den i ett befintligt diagram.

Datahanteringen visar flera olika typer av information i sin lista med dataobjekt. De beskrivs nedan:

Namn

  Dataobjektets namn, unikt i uppsättningen dataobjekt av samma typ.

Typ

  Dataobjektets typ avgör hur det skapas och vad dess alternativ är. Typen kan vara något av bild, datavektor, ekvation, histogram, händelsebevakning, insticksprogram, kurva, matris, spektrogram eller spektrum.

Använt

  Fältet anger dataobjektets status. Om det finns en markering i kolumnen Använt för ett dataobjekt, beror något annat objekt i &kst; på det.

Samplingar

  Antal element i dataobjektet.

Egenskaper

  En sammanfattning av dataobjektets nyckelparametrar, beroende på dess typ.

Om du snabbt vill hitta en vektor bland många objekt i datahanteringen, kan du bara skriva in en del av dess namn i sökfältet. Då svarar datahanteringen genom att bara lista de objekt som innehåller den inskrivna texten i sina namn.

### Skapa och ta bort dataobjekt

Du kan skapa nya dataobjekt genom att antingen använda den vänstra rutan i Datahanteringen, eller menyn Data.

När du skapar ett nytt dataobjekt, kan du skriva in ett unikt namn som identifierar objektet. Om du inte skriver in ett eget namn, skapas automatiskt ett unikt namn.

Du måste använda Datahanteringen för att ta bort ett dataobjekt. Observera att om ett dataobjekts kolumn Använt har en markering, beror något annat data- eller vyobjekt i &kst; på det. Beroende på hur starkt detta beroende är, kommer &kst; att fråga dig innan ett objekt tas bort. Om andra objekt till exempel har kritiska beroenden av det du försöker ta bort, frågar &kst; om du också vill ta bort dessa objekt. Vissa beroenden listas nedan:

- Diagram har inget kritiskt beroende av de uppritningsbara objekt som de innehållar, utan om ett uppritat objekt tas bort, tar &kst; automatiskt bort det från alla diagram, utan att fråga.

- Alla dataobjekt som använder en viss datavektor måste tas bort innan själva datavektorn kan tas bort.

- Alla delobjekt till ett överliggande dataobjekt måste vara oanvända innan det överliggande dataobjektet kan tas bort.

Efter en följd av borttagningar och borttagningar av uppritningsbara dataobjekt från diagram, kan du märka att det finns en mängd oanvända dataobjekt som visas i datahanteringen. För att snabbt ta bort objekten, kan du klicka på knappen Rensa.

## Datatyper

### Vektorer

Vektorer är ett av de dataobjekt som oftast använda i &kst;. Som namnet anger, är vektorer helt enkelt ordnade listor med tal. Oftast innehåller de X- eller Y-koordinaterna för en uppsättning datapunkter.

Eftersom vektorer potentiellt kan vara riktigt stora, är det en god idé att vara medveten om hur mycket minne som &kst; har tillgängligt att använda. Aktuellt tillgängligt minne visas i statusradens nedre högra hörn i &kst;s huvudfönster. Om statusraden inte är tillgänglig, välj Inställningar Visa statusrad för att visa den.

Det finns två sorters vektorer: datavektorer och statiska vektorer. Datavektorer läses in i &kst; via en datakälla. Statiska vektorer skapas å andra sidan av &kst;. De representerar en jämt fördelad lista av tal, och kan till exempel vara användbara för att skapa X-axeln i ett diagram.

#### Datavektor

Följande är en skärmbild av fönstret som visas när vektorer redigeras. En ny datavektor skapas om du markerar alternativknappen Läs från datakälla i dialogrutan Ny vektor. Förklaringar av inställningarna listas nedan.

Redigera vektorer
Redigera vektorer

Filnamn

  Sökvägen till önskad datafil. Genom att klicka på knappen till höger visas ett filbläddrarfönster, som kan användas för att grafiskt bläddra till filen.

Fält eller kolumn

  Fältet eller kolumnen som ska användas för vektorn.

Startpost, Räkna från slutet, Intervall och Läs till slutet

  Den här avdelningen anger dataintervallet att använda från datavektorns utvalda fält. Beskrivningen förutsätter kunskap om konceptet med poster. Genom att använda de fyra inställningarna, kan undre och övre gräns för dataintervallet anges. För att till exempel läsa från post 10 till 900, skriv in `10` för Startpost och `890` för Antal poster. För att läsa från post 500 till filens slut, skriv in `500` för Startpost och markera alternativet Läs till slutet. För att bara läsa de 450 sista posterna från filen, markera alternativet Räkna från slutet och skriv in `450` för Antal poster. Kombinationerna som används i de två föregående exemplen är ofta användbara för att läsa data från en fil som uppdateras i realtid. Efterföljande tillägg i filen läses, vilket gör att tillhörande vektorer också uppdateras.

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

  Förutom undre 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 inte är markerad, läses alla samplingar i det valda intervallet. Om Läs en sampling per är markerat, läses bara en sampling per `N` poster, där `N` är antalet som skrivs in i rutan till höger. Värdet på den sampling som används för att representera en post beror på om Lågpassfilter först markeras. Om Lågpassfilter först inte är markerat, är värdet samma som första samplingen i posten. Om Lågpassfilter först är markerat, är värdet medelvärdet av alla samplingar i den speciella posten.

#### Statiska vektorer

Följande är en skärmbild av fönstret som visas när statiska vektorer redigeras. En ny statisk vektor skapas om du markerar alternativknappen Skapa i dialogrutan Ny vektor. Förklaringar av inställningarna listas nedan.

Redigera statiska vektorer
Redigera vektorer

Posterna i vektorn kommer att bli Från + (Till - Från)/(Antal samplingar - 1)*(i - 1), där i = 1, ..., Antal samplingar.

#### Skapa vektorer från Kst-skript

Du kan också skapa och initiera vektorer genom att använda Kst-skript. Se information om Kst-skript i utökningskapitlet, och om klasserna Vector och DataVector i skriptkapitlet.

Exempel ges nedan:

##### Exempel på användning av Kst-skript för att skapa en statisk vektor

    v = new Vector(); // skapa en ny vektor
    v.tagName = "v1"; // ge den ett namn i datahanteringen
    v.resize(100); // ge den storleken 100 datavärden
    for(var i=0; i<100; i++){v[i]=Math.random()}; // initiera vektorn

##### Exempel på användning av Kst-skript för att ladda vektorer från källfiler

    source = new DataSource("rand.dat"); // ange en datakälla i filsystemet. Se klassen DataSource för mer information
    v = new DataVector(s,"1"); // skapa en ny vektor v och hämta dess värde från fält 1 i källfilen
    v.tagName = "vektor" // ge vektorn ett namn i datahanteringen

### Kurvor

Kurvor används i huvudsak för att skapa uppritningsbara objekt från vektorer. Kurvor skapas av två vektorer, en X-axelvektor och en Y-axelvektor, som antas tillhandahålla en uppsättning datapunkter. Alltså kan en kurva ses som en uppsättning datapunkter och linjerna som förbinder dem (även om punkterna eller linjerna kanske inte är synliga i diagram).

Det följande är en skärmbild av fönstret som visas när kurvor skapas eller redigeras. Förklaringar av inställningarna listas nedan.

Redigera kurvor
Redigera kurvor

Förklaringstext

  Strängen som används i diagrammets förklaring för att beskriva kurvan.

X-axelvektor

  Vektorn att använda för den oberoende (horisontella) axeln.

Y-axelvektor

  Vektorn att använda för den beroende (vertikala) axeln.

+X-felstapel och +Y-felstapel

  Vektorerna som innehåller felvärden som motsvarar respektive X-axelvektor och Y-axelvektor. Vektorerna ska innehålla felstaplarnas storlek i samma ordning som datapunkterna.

Använd +X/Y-felstapel för -X/Y

  Om det här alternativet är markerat, ritas felstaplarna symmetriskt omkring datapunkten. För att rita asymmetriska felstaplar i X- eller Y-riktning, avmarkera rutan och välj en vektor för felstaplarnas längd under datapunkten i kombinationsrutan -X/Y felstapel.

-X/Y-felstapel

  Vektorn som ska användas för felstapeln under datapunkten. Se föregående stycke för mer information om att använda asymmetriska felstaplar.

Färg

  Avgör färgen på datapunkterna i kurvan. Att klicka på knappen visar &kde;:s vanliga färgväljare.

Visa punkter

  Bestämmer om datapunkter indikeras av den valda markörtypen eller inte.

Täthet

  Om Visa punkter är aktiverat, tillåter Täthet att &kst; bara visar enstaka punkter, om de annars skulle överhopa diagrammet.

Visa linjer

  Bestämmer om datapunkter kommer att förbindas av linjer.

Bredd

  Om Visa linjer är aktiverad, ger detta kurvans bredd i bildpunkter.

Stapeldiagram

  Ritar linjer eller rektanglar från datapunkter till linjen y = 0 i diagrammet.

Ignorera vid automatisk intervallberäkning av axlar

  Om alternativet markeras, ignoreras kurvan när y-axelns intervall bestäms automatiskt. Om det inte markeras, används kurvan för att automatiskt bestämma y-axelns intervall. Normalt är alternativet inte markerat.

Förskjutning av Y-axelvektor

  Om alternativet är markerat, subtraheras den motsvarande markerade skalären från kurvans Y-värde.

#### Använda klassen Curves i Kst-skript

Kst-skript kan användas för att rita upp en kurva. Se information om klassen Curve i skriptkapitlet.

##### Exempel på användning av Kst-skript för att rita upp en kurva

    // xv och yv är befintliga vektorer i datahanteringen.
    // Se exempel 3.1 och 3.2 om hur man skapar vektorer med Kst-skript.
    c = new Curve("xv", "yv") // för att skapa en ny kurva med användning av xv och yv
    c.tagName = "xv mot yv"; // definiera kurvans namn i datahanteringen
     // för att visa kurvan måste ett fönsterobjekt och ett diagramobjekt skapas.
    w = new Window();
    p = new Plot(w);
    // använd metoden append i klassen CurveCollection för att visa kurvan i diagrammet
    p.cuves.append(c);

Det finns ett detaljerat exempel på vektorer, diagram och kurvor i utökningskapitlet. Klicka här för att titta på det.

### Ekvationer

Ett ekvationsdataobjekt består av ett matematiskt uttryck och en oberoende variabel. Uttrycket byggs upp genom att använda en kombination av skalärer, vektorer och operatorer, och representerar oftast den beroende variabelns värden. Den oberoende variabeln skapas av en befintlig vektor och lagras som en slavvektor tillsammans med ekvationens beräknade resultat.

Det följande är en skärmbild av fönstret som visas när ekvationer skapas eller redigeras. Förklaringar av inställningarna listas nedan.

Redigera ekvation

Operatorer

  En lista med tillgängliga operatorer. Genom att välja en operator i listan infogas den vid den nuvarande markörpositionen i textrutan Ekvation.

Vektorer

  En lista med nuvarande vektorobjekt i &kst;. Genom att välja en vektor i listan infogas den vid den nuvarande markörpositionen i textrutan Ekvation.

Skalärer

  En lista med tillgängliga skalärvärden. Listan består både av skalärvärden i nuvarande session i &kst;, samt några inbyggda konstanter. Genom att välja en skalär i listan infogas den vid den nuvarande markörpositionen i textrutan Ekvation.

Ekvation

  Det matematiska uttrycket som representerar den oberoende variabeln. Du kan skriva in det för hand in textrutan, eller du kan välja objekt att infoga med kombinationsrutan ovan. När du skriver in ekvationsuttryck för hand, kom ihåg att ange vektor- och skalärnamn inom hakparenteser.

  Se Ekvationsuttryck i Kst för en fullständig lista av operatorer, funktioner och konstanter för att uttrycka ekvationer i Kst.

X-vektor

  Välj en vektor att använda som oberoende variabel. Välj en vektor i kombinationsrutan, eller skapa snabbt en ny genom att klicka på guideknappen till höger.

Interpolera till vektorn med högst upplösning

  Markera alternativet för att interpolera den valda X-vektorn till störst antal möjliga samplingar, givet data använd i ekvationens uttryck. Om uttrycket till exempel används med en Y-vektor som innehåller dubbelt så många variabler som den valda X-vektorn, skapar ekvationsobjektet en slavvektor av interpolerade X-värden med samma antal punkter som Y-vektorn.

#### Använda klassen Equation i Kst-skript

Klassen Equation i Kst-skript tillhandahåller metoder för att hantera ekvationsobjekt. Ett exempel visas nedan.

##### Exempel på användning av klassen Equation

    // konstruera ett vektorobjekt
    x = new Vector();
    x.tagName = "x_vector"; // kalla den x_vector i datahanteringen
    x.resize(100);

    // initiera x_vector
    for(var i=0; i<100; i++){x[i]=i;}

    // skapa ett ekvationsobjekt
    eq = new Equation("LN([x_vector])",x); // ange ekvationsuttrycket
                                          // titta i ekvationsappendix för att se
                                          // vilka uttryck som stöds av &kst;.
    eq.tagName = "Naturlig logaritmfunktion";

    // kontrollera om ekvationen är giltig
    eq.valid
    // det ska returnera sant

    // skapa en kurva med vektorerna som är resultatet av att använda ekvationen
    c = new Curve(eq.xVector, eq.yVector);
    c.tagName = "ekv_kurva";
    // se exempel 3.3 för att visa kurvan

### Histogram

Objektet beräknar histogrammet av en utvald vektor.

Följande är en skärmbild av de histogramspecifika alternativen som visas när histogram skapas eller redigeras. Förklaringar av inställningarna listas nedan.

Redigera histogram

Datavektor

  Datavektorn som histogrammet ska skapas från. Även om en vektor krävs för att skapa ett histogram, behandlas vektorn som en oordnad mängd för syftet att skapa ett histogram.

Från och Till

  Fältet Från innehåller vänstra gränsen för området längst till vänster i histogrammet. Fältet Till innehåller högra gränsen för området längst till höger i histogrammet.

Antal områden

  Skriv in totalt antal områden som ska användas i fältet.

Automatiska områden

  Istället för att ange värden för Från, Till och Antal områden, kan du klicka på Automatiska områden för att automatiskt skapa värden för alla tre fälten baserat på längden och de lägsta och högsta värdena i den valda datavektorn.

Antal i området

  Genom att välja det här alternativet gör att Y-axeln motsvarar antal element i varje område.

Bråkdel i området

  Att välja det här alternativet gör att Y-axeln motsvarar bråkdelen av element (av det totala antalet element) i varje område.

Procent i området

  Genom att välja det här alternativet gör att Y-axeln motsvarar procent av element (från det totala antalet element) i varje område.

Högsta område satt till 1.0

  Att välja det här alternativet gör att Y-axeln representerar antal element i varje område dividerat med antal element i det största området (området med störst antal element).

#### Använda klassen Histogram i Kst-skript

Histogram kan också skapas via Kst-skript. Se information om klassen Histogram i appendix Arbeta med Kst-skript.

##### Exempel på att skapa ett histogram via Kst-skript

Exemplet nedan använder datafilen `normal.dat`, skapad av perl-skriptet i Skapa ett histogram från kapitel 2.

    // ladda datavektorn från normal.dat: se detaljinformation i exempel 3.2
    s = new DataSource("normal.dat");
    v = new DataVector(s, "1");

    // skapa ett histogramobjekt med användning av vektorn v.
    hs =new Histogram(v);

    // skapa en histogramkurva: se detaljinformation om klassen Curve
    c = new Curve(hs);

    // visa histogrammet: se exempel 3.3w=new Window();
    p = new Plot(w);
    p.curves.append(c);

### Spektrum

Dataobjektet beräknar den diskreta Fouriertransformen (DFT) av en indatasignal med algoritmen för snabb Fouriertransform (FFT), och ger signalens spektrum som resultat.

Den matematiska definitionen av DFT är:

DFT

där `x(n)` är indatasignalen, och `N` är antal samplingar.

Följande definitioner förutsätter grundkunskap om effektspektrum. Vi använder konventioner och terminologi från Numerical Recipes in C: The Art of Scientific Computing, publicerad av Cambridge University Press.

Fönstret Effektspektrum
Fönstret Effektspektrum

Datavektor

  Datavektorn att skapa effektspektrum från.

Appodisera, Funktion och Sigma

  En appodiseringsfunktion är en funktion som används för att minska läckage.

  I kombinationsrutan Funktion, kan appodiseringsfunktionen som används för spektrat väljas bland:

  - Förval

  - Bartlett

  - Blackman

  - Connes

  - Cosins

  - Gaussisk (eget sigma)

  - Hamming

  - Hann

  - Welch

  Om alternativet Appodisera är markerat, delas data upp i fönster med funktionen som väljes i kombinationsrutan till höger. Appodisering kan användas för att reducera läckage mellan områden, men diagrammets upplösning kommer att minska. Om den Gaussiska appodiseringsfunktionen väljes, kan också Sigma anges för att definiera dess effektiva bredd.

Ta bort medelvärde

  Markera alternativet för att ta bort medelvärdet från data när transformen beräknas.

Inflätat medelvärde och FFT-längd

  Genom att markera Inflätat medelvärde beräknas Fouriertransformen över datasegment, vilket ökar beräkningshastigheten och förbättrar noggrannheten på bekostnad av mindre information om lågfrekventa komponenter. De inflätade segmentens längd anges som en tvåpotens. Om Inflätat medelvärde inte markeras, använder &kst; den minsta möjliga längden som är större än vektorns längd.

Interpolera över hål

  Om datavektorn innehåller NaN-värden, interpolerar &kst; förbi dem vid beräkning av effektspektrum om alternativet markeras.

Samplingsfrekvens

  Det här är antalet samplingar per tidsenhet i datavektorn. Samplingsfrekvensen används för att skapa X-axeln i diagram med effektspektrum.

Vektorenheter och Samplingsenheter

  Enheterna som anges i textrutorna används med syftet att automatiskt skapa axeltexter för diagrammen.

Utmatning

  Utdataspektrum kan väljas från

  - Amplitudspektraltäthet (V/Hz^½)

  - Effektspektraltäthet (V²/Hz)

  - Amplitudspektrum (V)

  - Effektspektrum (V²)

  Alternativet som väljes i kombinationsrutan avgör vilken variant av effektspektrum som ska beräknas.

  Effektspektrum är avbildningen av |X(k)|² mot frekvensvektorn som skapas av samplingsfrekvensen. Amplitudspektrum beräknas genom att ta kvadratroten av effektspektrum. Spektraltätheter beräknas genom att multiplicera effekt- eller amplitudspektrum med faktorn N/samplingsfrekvensen, där N är antalet datasamplingar.

#### Använda klassen PowerSpectrum i Kst

Klassen PowerSpectrum i Kst-skript kan också användas för att skapa effektspektra.

##### Exempel på användning av klassen PowerSpectrum

    // skapa en slumpvektor vars värde ligger mellan 0 och 1 med 10000 sampel
    x = new Vector();
    x.resize(10000);
    x.tagName = "slump" // ge den namnet slump i datahanteringen
    for(var i=0; i <10000; i++){x[i]=Math.random()}

    // skapa ett effektspektrum enligt konstruktorn:
    //PowerSpectrum(vektor, frekv, [,medelvärde[,längd[,appodisera[,ta_bort_medelvärde]]])
    ps = new PowerSpectrum(x, 10, true, 10, true, false)
    ps.tagName ="slump_spektra";

Efter att ha kört ovanstående skript, ska datahanteringen se ut så här:

Resultatnamn i datahanteringen
Resultatnamn i datahanteringen

Senare kan effektspektrats egenskaper ändras på följande sätt:

    ps.removeMean = true; // aktivera alternativet ta bort medelvärde
    ps.length = 13; // ändra FFT-längden till att vara 2^13

### Spektrogram

Ett spektrogram är ett sätt att rita upp en datavektors frekvensspektrum som en funktion av positionen i data. Det åskådliggör till exempel hur frekvensfördelningen hos en signal förändras med tiden. I &kst; tar spektrogrammets dataobjekt en datavektor som indata och skapar ett bildobjekt som kan visas som ett vattenfallsdiagram. Vattenfallsdiagrammet används för att visa hur tvådimensionell information ändras med tiden. Här anger den hur effektspektrum mot frekvensen hos en datamängd ändras med tiden. Ett exempel visas på skärmbilden nedan. Det är ett spektrogram från en dags data för en kanal på satelliten WMAP. Intervallstorleken som komponentens spektrum beräknas för har valts så att varje intervall motsvarar en halvtimmes data. Satellitens periodiska 1-timmars precession omkring spinnaxeln syns tydligt. Dessutom visar de röda linjerna med ungefär 0,007 Hz längst ner på bilden satellitens mycket snabbare spinnfrekvens (0,5 varv/min).

Exempel på spektrogram

Här är redigeringsdialogrutan för spektrogramobjektet.

Fönstret för att redigera spektrogram

En förklaring av alternativen som är specifika för spektrogrammet ges nedan:

Fönsterstorlek

  Datalängden som spektrat ska gälla. Datavektorn delas upp i intervall av denna längd, och spektrat beräknas för vart och ett av dem.

FFT-alternativ

  Detta är alternativen för varje enskilt spektrum. Se dataobjektet Spektrum för mer information. Utdatakvantiteterna anges av färgskalären.

Färgpalett

  Alternativet ska kommas åt från dialogrutan Redigera bild för bilden skapad av spektrogrammet.

  Här kan du välja färgschema att använda för spektrogrammet. Amplituderna hos spektrat färgkodas enligt valt schema.

#### Använda klassen Spectrogram i Kst-skript

Ett spektrogram kan också skapas genom att använda klassen Spectrogram i Kst-skript.

##### Exempel på användning av klassen Spectrogram

Vektorn slump skapad i exempel 3.6 används återigen i detta exempel.

    s = new Spectrogram("slump",10) // skapa ett spektrogram genom att använda vektorn slump
                                   // och ange att frekvensen ska vara 10 Hz
    s.windowsize = 500; // anger att fönsterstorleken ska vara 500
    s.tagName = "slump_spektrogram";

Nu kan du kontrollera att slump_spektrogram finns i datahanteringen. Du kan visa vattenfallsdiagrammet genom att skapa en bild av slavmatrisen.

### Insticksprogram

Ett dataobjekt för insticksprogram representerar ett insticksprogram i &kst;. Alla insticksprogram har ett gemensamt format och visas som typen Insticksprogram i datahanteringen. För mer information om tillgängliga insticksprogram och deras alternativ, se kapitlet om insticksprogram.

### Händelsebevakning

Dataobjektet händelsebevakning håller väsentligen reda på en eller flera vektorer eller skalärer, och utför en åtgärd när ett specifikt villkor som berör vektorerna eller skalärerna är sant. Händelsebevakning används oftast tillsammans med rörlig eller strömmande data. En händelsebevakning skulle till exempel kunna skapas för att övervaka om element i en datavektor som representerar temperatur överskrider ett fördefinierat värde eller inte.

Du kan skapa en ny händelsebevakning med alternativet Data Ny händelsebevakning..., eller genom att använda Datahanteringen.

Följande är en skärmbild av fönstret som visas när händelser skapas eller redigeras. Förklaringar av inställningarna anges nedan.

Redigera händelsebevakning

Uttryck

  Uttrycket att bevaka. Du kan skriva in det direkt i textrutan, eller välja objekt att infoga med kombinationsrutorna operator, vektor och skalär. Försäkra dig om att uttrycket som matas in i textrutan är ett Booleskt uttryck (dvs. det ger antingen resultatet sant eller falskt). Det innebär oftast att använda en likhet eller olikhet i uttrycket. Observera att vektorer som matas in i textrutan bevakas enligt sina enskilda element.

  Så fort uttrycket är sant (utvärderas till skilt från noll), utlöses händelsen. Åtgärden som utförs när en händelse utlöses beror på alternativ som anges i övriga inställningar.

Beskrivning

  Den här textrutan används för att lagra en kort beskrivning av händelsen. Beskrivningen är i huvudsak tillgänglig som ett sätt att hålla reda på flera händelser. Du kan skriva in vilken text du vill i textrutan.

Logga som:

  Aktivera kryssrutan för att låta poster läggas till i &kst;:s felsökningslogg när händelsen utlöses. Det finns tre sorters poster i felsökningsloggen: anmärkningar, varningar och fel. Välj önskad typ av post med motsvarande alternativknapp.

E-postmeddelande

  Aktivera kryssrutan för att få &kst; att skicka underrättelser med e-post till angiven adress när händelsen utlöses. Allmänna inställningar av e-postalternativ är tillgängliga i &kst;s inställningsdialogruta.

ELOG

  Om Elog-utökningen är aktiverad, kan händelsebevakning tillhandahålla underrättelser via ELOG. Det kan vara användbart för att bevaka rörlig data från en annan dator, eller för att få sammanfattningar av händelseaktivitet. Se avsnittet ELOG för mer information.

Kst-skript

  Om alternativet är aktiverat, kan händelsebevakningen köra ett Kst-skript när det utlöses. Se dokumentationen om Kst-skript för mer information.

### Matris

En matris representerar en uppsättning tredimensionella datapunkter (x, y, z) arrangerade i ett tvådimensionellt rutnät.

Matrisstruktur

Precis som är fallet för datatypen vektor, finns det två sorters matris: data och statisk. Datamatriser läses från datakällor, och statiska matriser skapas av &kst;.

#### Datamatris

Följande är en skärmbild av fönstret som visas när en datamatris redigeras. En ny datamatris skapas om du markerar alternativknappen Läs från datakälla i dialogrutan Ny matris.

Redigera datamatris

Alla alternativ som är tillgängliga för datamatriser motsvarar alternativen för datavektorer.

Datakällans parametrar

  Alla fält i en ASCII-fil som ska användas som datakälla för en matris måste ha fältnamnen på detta format: [MATRIX,antal rader,x-minvärde,y-minvärde,x-stegstorlek,y-stegstorlek]. Ett mycket enkelt exempel på en matriskällfil tillhandahålls nedan.

Dataintervall

  Alternativet låter dig använda bara en del av matrisen genom att ange dataintervall i både X- och Y-riktning.

  - X-startpost:: startindex i matrisens X-dimension

  - Y-startpost:: startindex i matrisens Y-dimension

  - Antal X-poster:: antal datapunkter som behövs i X-dimensionen

  - Antal Y-poster:: antal datapunkter som behövs i Y-dimensionen

  Det enkla exemplet nedan visar hur alternativet används.

##### Exempel på en enkel matriskällfil

    [MATRIX,5,0,0,1,1]
    0.47
    0.12
    0.49
    0.97
    0.67
    0.46
    0.64
    0.9
    0.53
    0.13

Resultatmatrisen skulle vara en 2 × 5 matris, där de 10 samplingarna alla ingår: Enkel matris Enkel matris

Observera att bara antal rader måste anges, eftersom Kst automatiskt kan räkna ut antal kolumner för att den laddade matrisen ska innehålla så många samplingar som möjligt från originalfältet.

Om matrisens fältnamn är [MATRIX,6,0,0,1,1], får resultatmatrisen dimensionen 1×6. Bara sex samplingar skulle ingå.

##### Exempel på att ange en del av matrisen

Om bara en del av matrisen från index (1,2) till index (2,4) behövs för 2×5-matrisen i skärmbilden ovan, dvs.

0,12 0,64

0,49 0,9

0,97 0,53

måste Dataintervall anges på följande sätt:

- X-startpost 0

- Y-startpost 1

- Antal X-poster 2

- Antal Y-poster 3

Resultatet blir detta:

Extraherad matris
Extraherad matris

#### Statisk matris

Följande är en skärmbild av fönstret som visas när statiska matriser redigeras. Statiska matriser låter dig skapa gradientmatriser likt den som visas i bakgrunden i exemplet för kommentarobjektet. En ny statisk matris skapas om du väljer alternativknappen Skapa gradient i dialogrutan Ny matris.

Redigera statisk matris

Alternativen låter dig skapa en matris som har en linjär gradient i Z, antingen längs X- eller Y-axeln.

Stegalternativen låter dig ställa in matrisens storlek.

- X-steg anger kolumnnummer

- Y-steg anger radnummer

Alternativen X-minimum, Y-minimum och X-stegstorlek, Y-stegstorlek låter dig ställa in X- och Y-intervall.

#### Använda matriser via Kst-skript

Matriser kan också skapas med Kst-skript. Se information om klassen Matrix och klassen DataMatrix i skriptkapitlet.

##### Exempel på användning av klassen DataMatrix i Kst-skript

    s = new DataSource("home/vyiwen/mx.dat") // mx.dat är samma matriskällfil som i exempelkällfilen ovan
    m = new DataMatrix(s, "[MATRIX,5,0,0,1,1]") // använd mx.dat för att skapa en matris
    m.tagName = "Enkel_matris"; // Ge matrisen namnet Enkel_matris så ska du kunna se den i datahanteringen.

    // om du vill specificera en del av matrisen genom att ange ett dataintervall i x- och y-dimension,
    // använd metoden: change(xStart, yStart, xPoster, yPoster)

    m.change(0,1,2,3) // du kan se ändringen i Enkel_matris
                     // den ska vara samma 2 x 3-matris som
                     // i exemplet ovan där en del av matrisen anges.

##### Exempel på användning av klassen Matrix för att skapa en statisk matris

    y = new Matrix(); // skapa en ny matris
    y.resize(3,5);  // definera matrisens storlek 3 x 5
                    // dvs. 3 rader och 5 kolumer
    for(var i=0; i<5;i++){for(var j=0; j<3;j++){y/setValue(i,j,i+j)}}; // initiera matrisen
    y.tagName="mx"; // nu ska du se matrisen mx i datahanteringen

### Bilder

Bilder är grafiska representationer av matriser. Bilder kan ritas upp som färgkartor, konturkartor eller både och.

Bildfönster
Bildfönster

Matrisval

  Välj matrisen som ska användas för bilden. Nya matriser kan skapas eller redigeras genom att klicka på knappen till höger.

Färgavbildning, Konturavbildning och Färgavbildning och konturavbildning

  Välj typ av bild att rita upp. Genom att ändra det här valet aktiveras eller inaktiveras avdelningar av bilddialogrutan på lämpligt sätt.En färgavbildning representerar Z-värdet för varje cell i matrisen med en färg. En konturavbildning ritar upp kurvor som följer konstanta Z-värden.

Färgpalett

  Välj färgpalett att använda för färgavbildningen.

Tröskel, Undre och Övre

  Skriv in undre och övre tröskel att använda för avbildning av färger. Palettfärger fördelas jämnt mellan undre och övre tröskeln. Alla celler i den valda matrisen med Z-värden mindre än den undre tröskeln avbildas med den första färgen i paletten. Alla celler i den valda matrisen med Z-värden större än den övre tröskeln avbildas med den sista färgen i paletten.

Maximal och minimal

  Genom att klicka på knappen ställs undre och övre tröskelvärden in till de för närvarande minsta och största Z-värden i den valda matrisen.

Smart och Percentil

  Att klicka på knappen Smart gör att undre och övre tröskelvärden ställs in så att procentandelen Z-värden i den valda matrisen som ingår mellan dem är lika med värdet i nummerrutan Percentil.

Automatiskt tröskel i realtid

  Att markera alternativet gör att de undre och övre tröskelvärdena alltid ställs in till det minimala och maximala Z-värdet för vald matris, till och med när matrisen uppdateras.

Antal konturnivåer

  Välj antalet konturnivåer att använda. Konturnivåerna fördelas jämnt mellan minsta och största Z-värde som finns i matrisen.

Färg

  Välj färg att använda för konturlinjerna. Genom att klicka på knappen visas en vanlig färgvalsdialogruta i &kde;.

Bredd och Använd variabel linjebredd

  Välj konturlinjernas Bredd, eller tjocklek. Om Använd variabel linjebredd är markerat, ritas konturlinjer som representerar högre höjder tjockare än de som representerar lägre höjder. Använd försiktighet när det här alternativet väljes, eftersom bilder med hög konturlinjetäthet kan bli oläsbara.

#### Klassen Image i Kst-skript

Se klassen Image i skriptkapitlet för detaljinformation.

### Vektorvy

Vektorvyn tillhandahåller ett sätt att visa en del av datadiagrammet. Den undantar alla datapunkter som inte ingår i intervallet av X- och Y-gränser som anges av användaren.

Redigera vektorvy
Redigera vektorvy

Indatavektorer

  Välj en X- eller Y-axelvektor som indata bland befintliga vektorer, eller skapa en genom att använda snabbikonerna.

Visa intervall

  Justera diagrammets visningsintervall genom att välja X-min och Y-min samt X-max och Y-max för indatavektorerna.

Flaggvektor

  Alternativet används för att utesluta specifika punkter i indatavektorn från vektorvyn. Index för punkter skilda från noll i flaggvektorn anger att indatavektorns datapunkter med samma index ska filtreras bort i vektorvyn.

## Dataverktyg

### Dataguiden

Dataguiden tillhandahåller ett snabbt och enkelt sätt att grafiskt importera data till &kst;, och automatiskt skapa vektorer, kurvor, effektspektra och diagram. För att starta guiden, välj Verktyg Dataguide eller klicka på ikonen Dataguideikon i verktygsraden. Datakällans fönster visas enligt nedan, och du måste välja en fil som datakälla.

Datakälla
Datakälla

#### Anpassa en datakälla

Efter att ha valt datakällans fil, måste du kanske ställa in filen genom att klicka på Anpassa.... Se avsnittet ASCII-datakälla om hur dialogrutan Anpassa datakälla används.

Efter att ha anpassat datakällfilen, klicka på Ok för att stänga dialogrutan Anpassa datakälla, och klicka på Nästa i datakällans fönster. Rutan Välj data visas enligt nedan.

#### Välja data

Dialogrutan Välj data i dataguiden
Dialogrutan Välj data i dataguiden

Här kan du välja fälten du vill importera till &kst;. Knapparna med höger- och vänsterpilar låter dig flytta datavektorer fram och tillbaka mellan Tillgänglig data och Vald data. Uppåt- och neråtpilarna låter dig flytta positionen för valda vektorer upp eller ner i området Vald data. Du kan filtrera listan med fält genom att skriva in en sträng som matchar (jokertecken som `*` stöds) i textrutan ovanför listan. Klicka på knappen Nästa för att gå vidare till rutan Datapresentation.

#### Presentation

Dialogrutan Datapresentation i dataguiden
Dialogrutan Datapresentation i dataguiden

Avdelningen Dataintervall används för att ange dataintervallet som ska läsas för de valda vektorerna i indatafilen. För information om parametrarna, läs beskrivningen av dataobjektet vektor.

Inställningar av effektspektrum och X-axel kan anges inne i avdelningen Diagramtyper. Inställningarna beskrivs nedan:

X-Y, Effektspektrum och X-Y och effektspektrum

  Välj om bara bara data (X-Y) ska ritas upp, bara Effektspektrum, eller båda. Om effektspektrum väljes för uppritning, blir ytterligare inställningar i avdelningen tillgängliga.

X-axelvektor

  Vektorn som ska användas som oberoende vektor för diagrammen. Du kan välja ett fält från datafilen, eller vektorn INDEX. Vektorn INDEX är helt enkelt en vektor som innehåller element från 0 till N-1, där N är antal poster i datafilen.

Avdelningen FFT-alternativ i dataguiden är bara tillgängligt om ett effektspektrum ska ritas upp. Detaljerad information om alternativen finns i avsnittet om spektrum.

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

#### Anpassa diagramlayout

Dialogrutan Anpassa diagramlayout i dataguiden
Dialogrutan Anpassa diagramlayout i dataguiden

Härifrån kan du ställa in allmänna diagraminställningar. De flesta inställningar är självförklarande. En kort överblick av varje avdelning ges nedan.

Kurvans stil

  Välj om bara datapunkter ska ritas upp, bara linjer som förbinder datapunkterna, eller båda. Normalt är linjer heldragna med bredden 0, och datapunkter markeras med kryss. Linje- och datapunktsfärger väljes så att kurvor med identiska färger minimeras. Observera att inställningarna av kurvans stil gäller både effektspektrum och XY-diagram.

Kurvans placering

  Välj diagrammen där de nya kurvorna ska placeras. Gå igenom fördelar kurvorna i diagrammen genom att cykliskt gå igenom diagrammen.

  Om du exempelvis har fyra kurvor, och väljer att gå igenom två diagram, blir resultatet att den första kurvan placeras i diagram 1, den andra kurvan i diagram 2 vid den första genomgången. Den tredje kurvan hamnar tillbaka på diagram 1, medan den fjärde kurvan hamnar i diagram 2 vid den andra genomgången. Observera att inställningarna för kurvans placering gäller både effektspektrum och XY-diagram.

Skapa text

  Välj önskad text och förklaringar som ska placeras i diagrammen.

Diagramplacering

  Välj önskade fönster där de nya diagrammen ska placeras. Nya fönster kan skapas för diagrammen genom att välja I nytt fönster.

Axelläge för effektspektrum

  Markera kryssrutorna om du vill att det automatiskt skapade effektspektrat ska ha logaritmiska X- eller Y-axlar.

Så fort du är nöjd med alla inställningar, klicka på Slutför så skapas diagrammen.

### Menyn Data

Menyn Data ger snabb åtkomst till många funktioner som har med dataobjekt i &kst; att göra. De flesta menyfunktioner duplicerar funktioner som finns på andra ställen, därför ges bara kortfattade beskrivningar nedan.

Uppdatera

  Uppdaterar alla datavektorer från deras källfiler.

Datahantering

  Visar Datahantering.

Vyhantering

  Öppnar Vyhantering.

Ny/Nytt [dataobjekt]

  Visar motsvarande dialogruta för att skapa dataobjektet. Se Datatyper för beskrivningar av varje dialogruta.

Visa skalära värden

  Visar en dialogruta där värden på alla skalärer i den nuvarande sessionen i &kst; visas. Värdena visas hierarkiskt, baserat på vilket dataobjekt på högre nivå som skalärerna är bestämda för. Dialogrutan uppdateras dynamiskt om värdena ändras.

  Visa skalära värden
Visa skalära värden

  Visar en dialogruta där värden på alla nuvarande vektorer kan visas. Välj en vektor att visa med kombinationsrutan. Dialogrutan uppdateras dynamiskt om värdena ändras.

  Visa vektorvärden
Visa matrisvärden

  Visar en dialogruta där värden på alla nuvarande matriser kan visas. Välj en matris att visa med kombinationsrutan. Dialogrutan uppdateras dynamiskt om värdena ändras.

  Visa vektorvärden
Visa anpassningsresultat

  Visar en dialogruta där värden på alla resultat från utförda anpassningar med insticksprogram visas. Välj en anpassning att visa med kombinationsrutan. Dialogrutan uppdateras dynamiskt om värdena ändras.

  Anpassa en kurva - Anpassningsresultat

### Datavisningsläge

Dataläge gör det möjligt att exakt visa datapunkterna som används i ett uppritat dataobjekt. För att ändra dataläge, välj Diagram Dataläge eller klicka på ikonen Dataläge i verktygsraden. När markören nu flyttas över ett diagram anger en färgad punkt den datapunkt som är närmast markören, som visas på skärmbilden nedan. Statusraden visar datapunktens koordinater (i förhållande till X- och Y-vektorerna som används för att rita upp dataobjektet) i statusraden längst ner till vänster i &kst;s fönster. Statusraden visar också X-, Y- och Z-koordinaten för alla synliga bilder. Om bilder överlappar visas bara den översta bildens koordinater. Observera att alla zoomfunktioner fortfarande är tillgängliga i dataläge.

Dataläge

Om statusraden inte är synlig, välj Inställningar Visa statusrad.

### Ändra datafil

Ett vanligt sätt att använda &kst; är att skapa en session med diagram och analyser för en viss typ av data. Därefter kan samma diagram och analyser enkelt utföras med en annan uppsättning data genom att helt enkelt ändra datakällans fil, under förutsättning att de två datafilerna liknar varandra. Till exempel för ASCII-datafiler måste liknande datafiler ha samma antal fält.

Dialogrutan för att ändra datafil kan kommas åt genom att välja Verktyg Ändra datafil eller genom att klicka på ikonen Ikonen Ändra datafil i verktygsraden. Dialogrutan som visas återges nedan:

För att använda dialogrutan, markera vektorerna som du vill ändra datafil för genom att utnyttja listan i mitten av dialogrutan. Alla från, Rensa, Markera alla och sökfälten hjälper dig att göra det. Användning av jokertecken i sökfälten stöds.

Välj därefter en ny datafil. Om alternativknappen Ändra markerade vektorer och matriser är aktiverad, ersätts diagrammen av markerade datavektorer med datavektorerna laddade från samma fält i den nya datafilen som du angav, när du klickar på Verkställ eller Ok.

Om alternativknappen Duplicera markerade vektorer och matriser är markerat, ritas vektorer som kommer från den nya filen tillsammans med befintliga vektorer på exakt samma sätt.

Om vissa av de markerade vektorerna har beroenden (kurvor, spektra, histogram, etc.) låter alternativet Duplicera beroenden dig också duplicera dessa objekt.

### Ändra datasamplingsintervall

Dialogrutan Ändra datasamplingsintervall kan kommas åt via menyn Verktyg eller ikonen Dataintervallsikon i verktygsraden. Den låter dig ändra hur en uppsättning vektorer läses in från sina tillhörande filer. Alternativen beskrivs i detalj i avsnittet Dataintervall i dokumentationen om Datavektorer.

### Vanliga ikoner

Som nämns ovan, har de flesta dataverktyg motsvarande ikoner i verktygsraden. Det finns också några användbara ikoner som vanligen ses i olika dialogrutor.

Ikonen Skapa vektor

  Den här ikonen visar dialogrutan för Ny vektor, vilket är samma sak som att välja Data Ny vektor...

Ikonen Redigera vektor

  Den här ikonen visar dialogrutan Redigera vektor, där du kan redigera egenskaperna för vektorn som för närvarande är markerad.

Skapa MX

  Den här ikonen visar dialogrutan för Ny matris, vilket är samma sak som att välja Data Ny matris...

Ikonen Redigera matris

  Den här ikonen visar dialogrutan Redigera matris, där du kan redigera egenskaperna för matrisen som för närvarande är markerad.

Ikonen Rensa

  Den här ikonen ses oftast i sökfältet i många dialogrutor som används för att lista dataobjekt (vektorer, kurvor, etc.). Den ses till exempel i dialogrutor för Datahantering, Visa skalära värden och Ändra datafil, etc.

  Ikonen används för att snabbt rensa textrutan med Sökfältet och återställa originallistan med dataobjekt.

Ikonen Skapa skalär

  Ikonen visar dialogrutan för Ny skalär, som visas nedan: Ny skalär Ny skalär

  Här kan du definiera en egen skalär genom att skriva in dess namn och tillhörande värde.

Ikonen Redigera skalär

  Ikonen används för att ändra värdet av användardefinierade skalärer. I stort sett visar den samma dialogruta som återges ovan.

## Datakällor

&kst; använder externt länkade datakällor för att läsa från datafiler. Det betyder att nya dataformat kan läggas till oberoende i &kst;s repertoar. För närvarande innehåller &kst;s distribution följande standarddatakällor:

- ASCII

- Dirfile

- HEALPix

- QImage

- Indirekt

- CDF

- netCDF

- LFIIO

- SCUBA

Om du har ett dataformat som du vill att &kst; ska kunna läsa, är det enkelt att skapa ditt eget.

Alla datakällorna läser från filer med I/O-slavar, vilka oftast kan ladda data via vanliga filkomprimeringsformat (t.ex. BZIP2, GZIP, ZIP, TAR) och de flesta populära nätverksprotokoll (t.ex. HTTP, FTP, SFTP, SMB). För mer information om vilka format som stöds i ditt system, skriv ``kinfocenter`` på kommandoraden och titta under protokollfliken. Om &kst; detekterar att du exempelvis har skrivit in en webbadress i filnamnet för en vektor eller matris, visas knappen Anslut. Att klicka på knappen Anslut talar om för &kst; att ladda angiven data, och skicka den till en lämplig datakälla.

Följande begrepp är viktiga för att förstå hur &kst; arbetar med olika datakällor. Viss terminologi introduceras också i avsnittet.

Samplingar

  En sampling anses vara den grundläggande enheten med avseende på datafiler. Varje sampling består av ett datavärde i filen. Observera dock att en sampling kanske inte motsvarar ett värde i en datavektor i &kst;, beroende på begreppet poster.

Fält

  Ett fält motsvarar oftast en vektor i &kst;. En kolumn i en ASCII-datafil anses till exempel vara ett fält. Varje fält kan ha ett explicit eller implicit namn. Läsare av datakällor tillhandahåller funktioner för att läsa och hämta fält och fältnamn.

Poster

  En post motsvarar ett fast antal samplingar, och varje fält i en datafil kan ha sin eget antal samplingar per post. Storleken på en datafil mäts i antal poster den innehåller. I de flesta fall är antalet samplingar per post 1, men för vissa datafiler kan det finnas flera samplingar per post. I illustrationen nedan visas de tre första posterna i en tänkt datafil. I den här speciella datafilen har fält 1 förhållandet 5 samplingar per post, fält 2 har förhållandet 2 samplingar per post, fält 3 har förhållandet 3 samplingar per post och fält 4 har förhållandet 1 sampling per post.

  Beroende på specifika inställningar för datavektorer i &kst;, kan data från filer läsas som poster istället för samplingar, där antingen den första samplingen i en post eller medelvärdet av alla samplingar i en post motsvarar postens värde. Möjligheten kan vara användbar för att reducera mycket stora datamängder till hanterbar storlek.

INDEX-fält

  Vissa datafiler kanske inte har ett fält som representerar X-axeln i ett diagram. &kst; skapar implicit ett INDEX-fält för alla datakällor. INDEX-fältet innehåller helt enkelt heltal från 0 till N-1, där N är antal rader i datafilen.

### ASCII

Det enklaste indatafilformatet är ASCII-textfiler. Dessa filer kan oftast läsas av människor och kan enkelt skapas för hand eller med enkla skript om så önskas. Det följande är ett exempel på en ASCII-indatafil:

    112.5 3776 428
    187.5 5380 429
    262.5 5245 345
    337.5 2942 184
    412.5 1861 119
    487.5 2424 138
    567.5 2520 162
    637.5 1868 144
    712.5 1736 211
    787.5 1736 211
    862.5 2172 292
    937.5 1174 377
    1000.5 499 623

Datakällor - Anpassa ASCII

Kommentarindikeringar

  Kommentarrader i ASCII-filer börjar normalt med ett av tecknen i uppsättningen `{#, !, /, ;, c}`. Alla kommentarrader och tomma rader ignoreras av &kst;. Giltiga tal omfattar de med decimaler, minustecken eller `e` för att ange vetenskaplig notation. Ogitliga tal (som engelska ord) ersätts med 0 av &kst;.

Tolka ... som ...

  Se motsvarande avsnitt om diagramdialogrutan.

Acceptera alltid filer som matchar:

  Här kan du skriva in ett uttryck som du vill ska beteckna ASCII-datafiler, om de tas om hand av en annan datakälla.

Data börjar på rad:

  Data innan raden ignoreras. Att ställa in värdet till noll försäkrar att all data kommer att läsas.

Läs fältnamn från rad:

  Om alternativet markeras, läses fältnamnen på filens vektorer från angiven rad. Om kolumnerna inte har rubriker, tilldelas fältnamn av &kst; baserat på kolumnernas ordning (kolumnen längst till vänster har fältnamnet `1`).

Dataformat

  Välj alternativ som beskriver hur data är avgränsat (hur kolumner och rader skiljs åt). Varje kolumn i filen representerar ett fält, medan varje rad representerar en post. Kolumner avdelas typiskt med tabulatortecken eller mellanslag, och rader avdelas med returtecken.

### Dirfile

Dirfile är en mycket enkelt datakälla som är konstruerad för att kunna läsas effektivt av &kst;. Datakällan är en katalog som innehåller varje obehandlat fält i en egen binärfil. Eftersom data för ett givet fält lagras i en följd på disk i ett binärt format, är läsning mycket effektiv, typiskt begränsad av hårddiskens hastighet. Binärformat för heltal och flyttal stöds, samt kalibreringar, bitfält och linjärkombinationer av kanaler.

Katalogen innehåller en fil för varje fält. Filerna innehåller bara obehandlade samplingar, skrivna i ordning. Som i övriga &kst; måste varje fält i en datakälla ha samma antal poster, men varje fält kan ha olika (fast) antal samplingar per post. Formaterings- och kalibreringsinformation finns i den Dirfile som kallas `format`, där varje fält och dess egenskaper listas. Nedan är ett exempel på en sådan fil: i den här filen anger # en kommentar, och den första kolumnen för alla fält anger fältets namn.

    ##### Obehandlade fält ####
    # datatyper:
    # c: 8 bitar med tecken
    # u: 16 bitar utan tecken.   U: 32 bitar utan tecken
    # s: 16 bitar med tecken     S: 32 bitar utan tecken
    # f: 32 bitars flyttal       d: 64 bitars flyttal
    # Fältnamnet är också namnet på den obehandlade
    # binärfil som innehåller data.
    # Fältnamn  Obehandlat  datatyp  samplingar/post
    sensor1     RAW         s        1
    sensor2     RAW         U        20
    sensor3     RAW         c        1
    #
    #### härledda fält ####
    # LINCOM-fält: (F_ut = F1_in*m+b [+ F2_in*m+b [+ ...]])
    # Fältnamn  LINCOM  N  Fält1_in  förstärkning      position
    S1V         LINCOM  1  sensor1   1.52587890625E-4  0.00
    #
    # LINTERP-fält: Kalibrera med användning av en ASCII-uppslagningstabell.
    # uppslagningstabellens format:
    #     2 kolumner åtskilda med blanktecken
    #     Den första kolumnen har obehandlade värden, och den
    #     andra det motsvarande kalibrerade värdet.  Filen måste
    #     vara sorterad enligt kolumn 1.
    # Tabellen är linjärt interpolerad enligt värdet i
    # Fält_in.
    # Fältnamn  LINTERP  Fält_in  Kalibreringsfil
    S2K         LINTERP  sensor2  /data/etc/calibration/C2K.cal
    #
    # Bitvärden: värdet för 1 bit obehandlad data: 0 eller 1
    # Fältnamn  Bit  Fält_in  bit_nummer (0 till 7 för tecken)
    RELAY1      BIT  sensor3  0
    RELAY2      BIT  sensor3  1
    #
    # Följande rad inkluderar innehållet i en annan formatfil
    # i denna. Alla fält som refereras till i den filen kommer
    # att sökas efter i ../work/, inte i ./, så detta är väsentligen
    # samma sak som att inkludera hela den andra datakällan.
    INCLUDE ../work/format

Följande kodfragment (som dumt nog ignorerar all form av felkontroll) skulle kunna användas för att skapa datakällan ...

    char bits[1000];
      short s1[1000];
      unsigned int s2[20000];
      int fp;

      ......
      /* fyll bits, s1, och s2 med data...*/
      ......

      fp = open("/data/example/sensor3",  O_WRONLY|O_CREAT, 00644);
      write(fp, bits, 1000*sizeof(char));
      close(fp);

      fp = open("/data/example/sensor2",  O_WRONLY|O_CREAT, 00644);
      write(fp, bits, 1000*20*sizeof(unsigned int));
      close(fp);

      fp = open("/data/example/sensor1",  O_WRONLY|O_CREAT, 00644);
      write(fp, bits, 1000*sizeof(short));
      close(fp);

      /* skapa ASCII-filen /data/example/format, listad ovan */
      /* skapa cal-filen, /data/etc/calibration/C2K.cal,
         beskriven ovan. */

      ......

En Dirfile kan användas för realtidsdata, men eftersom varje fält skrivs separat, kräver det särskild försiktighet. För det första ska programmet som skriver undvika all buffring eller mellanlagring. Obehandlad skrivning, som i exemplet ovan, fungerar utmärkt. För det andra måste ordningen som fälten skrivs tas hänsyn till. &kst; bestämmer antal tillgängliga poster från storleken hos filen som innehåller det första obehandlade fältet som stöts på i formatfilen. Alltså måste det första obehandlade fältet i `format` vara det sista som skrivs, som i ovanstående exempel. Om datakällan läses via NFS, måste cachelagring av attribut vara avstängd.

När dirfile väljes för användning i &kst; ska katalogen som innehåller fältfilerna väljas. &kst; letar automatiskt efter filen `format`, om den finns, för att ta reda på fälten och deras egenskaper.

### Healpix FITS-filer

Healpix är en metod för bildpunktsuppdelning av en sfär. Mer information finns på http://healpix.jpl.nasa.gov/. Healpix-data laddas typiskt i &kst; som en matris. För att datakällan ska fungera måste CFITSIO-biblioteken vara installerade.En bild av en Healpix-exempelmatris visas nedan:

Healpix-exempel

Här är inställningsdialogrutan för datakällan Healpix. En förklaring av möjliga alternativ ges nedan:

Healpix-exempel

Dimensioner

  Storleken hos matrisen som ska skapas baseras på Healpix-data. Ju större matis, desto högre upplösning. Om du väljer dimensioner som är större än upplösningen hos data i Healpix-filen, kommer du att kunna se formen hos Healpix-bildpunkterna i matrisens avbildning.

ϴ- och Φ-intervall

  Kolatitud- och azimutintervall för data som ska hämtas.

ϴ- och Φ-intervall

  Kolatitud- och azimutintervall för data som ska hämtas.

### QImage

QImage-datakällan låter dig läsa bilddata till &kst;-matriser från en mängd olika format. Uppsättningen format som stöds beror på de bibliotek som är installerade på systemet, men de flesta populära format är i allmänhet möjliga att läsa. Om du bara vill lägga till en bild i ett diagram, är kommentarobjektet Bild ett bättre val. Ett exempel på en bild som ritats upp från en matris skapad av QImage visas nedan:

QImage-exempel

### Indirekt

Det här är en hjälpdatakälla, som låter dig komma åt data via en filpekare. Om du skriver webbadressen eller sökvägen till en datafil på den första raden i en textfil med filändelsen .cur, används den indirekta datakällan för att ladda filen som anges. Användningen av den är att innehållet i .cur-filen kan ändras externt för att ändra datafilen som laddas av &kst;.

### CDF

Common Data Format (CDF) utvecklades av NASA. Det beskrivs som ett självbeskrivande dataformat för lagring och behandling av skalär och flerdimensionell data på ett plattforms- och områdesoberoende sätt. Det betyder att det är ett generellt filformat för att lagra och hämta data, som liknar FITS och netCDF. För att datakällan ska fungera måste CDF-biblioteken vara installerade.

### netCDF

Formatet network Common Data Form (netCDF) utvecklades av Unidata. De beskriver det som: En uppsättning gränssnitt för vektororienterad åtkomst av data och en fritt distribuerbar samling dataåtkomstbibliotek för C, Fortran, C++, Java och andra språk. Biblioteken för netCDF stöder ett datoroberoende format för att representera vetenskaplig data. Tillsammans ger gränssnitten, biblioteken och formatet möjlighet att skapa, komma åt och dela vetenskaplig data. I praktiken liknar det FITS och netCDF formaten. För att datakällan ska fungera måste netCDF-biblioteken vara installerade.

### LFIIO

LFIIO-datakällan läser datafiler med FITS-format skapade av LFI-komponenten på satelliten Planck. Den är för närvarande standardläsaren av FITS-filer i &kst;. För att datakällan ska fungera måste CFITSIO vara installerat.

### WMAP-läsare

Datakällan låter dig ladda vektorer från filer med WMAP tidsordnad data (TOD). För mer information, se http://lambda.gsfc.nasa.gov/. För att datakällan ska fungera, måste du ha installerat CFITSIO.

### SCUBA-filläsare

Datakällan låter dig läsa in datafiler skapade av SCUBA, ett instrument på JCMT-teleskopet i Hawaii.