<chapter id="data">
<title
>Arbeta med data</title>

<sect1 id="data-overview">
<title
>Översikt av dataobjekt</title>



<para
>Vi kallar alla objekt i &kst; som visas i <link linkend="data-overview-datamanager"
>Datahanteringen</link
> för dataobjekt. Det finns tio huvudtyper av dataobjekt i &kst;. Följande diagram åskådliggör förhållandet mellan de olika typerna. </para>

<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Diagram-kst-data-datatypes.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Datatyper i &kst;</phrase>
</textobject>
</inlinemediaobject>
</para>



<para
>Som framgår av diagrammet är de enda verkligt <quote
>uppritningsbara</quote
> 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. </para>

<para
>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. </para>


<sect2 id="data-overview-datamanager">
<title
>Datahanteringen</title>
<para
>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 <menuchoice
><guimenu
>Data</guimenu
> <guimenuitem
>Datahantering</guimenuitem
></menuchoice
>. </para>

<screenshot>
<screeninfo
>Datahanteringen</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-datamanager.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Datahanteringen</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>Rutan till vänster i datahanteringen kan användas för att snabbt skapa nya dataobjekt. Knappen <guibutton
>Rensa</guibutton
> tar automatiskt bort dataobjekt som inte är <link linkend="data-overview-datamanager-used"
>använda</link
>. Knapparna <guibutton
>Redigera</guibutton
> och <guibutton
>Ta bort</guibutton
> låter dig selektivt redigera eller ta bort vissa objekt. Knappen <guibutton
>Stäng</guibutton
> avslutar datahanteringen. </para>

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

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

<variablelist>
<varlistentry>
<term>
<guilabel
>Namn</guilabel>
</term>
<listitem>
<para
>Dataobjektets namn, unikt i uppsättningen dataobjekt av samma typ. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Typ</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term id="data-overview-datamanager-used">
<guilabel
>Använt</guilabel>
</term>
<listitem>
<para
>Fältet anger dataobjektets status. Om det finns en markering i kolumnen <guilabel
>Använt</guilabel
> för ett dataobjekt, beror något annat objekt i &kst; på det. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Samplingar</guilabel>
</term>
<listitem>
<para
>Antal element i dataobjektet. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Egenskaper</guilabel>
</term>
<listitem>
<para
>En sammanfattning av dataobjektets nyckelparametrar, beroende på dess <link linkend="data-types"
>typ</link
>. </para>
</listitem>
</varlistentry>
</variablelist>
<tip>
<para
>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. </para>
</tip>
</sect2>

<sect2 id="data-overview-creatingdeleting">
<title
>Skapa och ta bort dataobjekt</title>
<para
>Du kan skapa nya dataobjekt genom att antingen använda den vänstra rutan i <link linkend="data-overview-datamanager"
>Datahanteringen</link
>, eller menyn <guimenu
>Data</guimenu
>. </para>

<para
>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. </para>

<para
>Du måste använda <link linkend="data-overview-datamanager"
>Datahanteringen</link
> för att ta bort ett dataobjekt. Observera att om ett dataobjekts kolumn <guilabel
>Använt</guilabel
> 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: </para>

<itemizedlist>
<listitem>
<para
>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. </para>
</listitem>

<listitem>
<para
>Alla dataobjekt som använder en viss datavektor måste tas bort innan själva datavektorn kan tas bort. </para>
</listitem>

<listitem>
<para
>Alla delobjekt till ett överliggande dataobjekt måste vara oanvända innan det överliggande dataobjektet kan tas bort. </para>
</listitem>
</itemizedlist>

<para
>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 <guibutton
>Rensa</guibutton
>. </para>
</sect2>

</sect1>

<sect1 id="data-types">
<title
>Datatyper</title>

<sect2 id="data-types-vectors">
<title
>Vektorer</title>
<para
>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. </para>

<para
>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 <menuchoice
><guimenu
>Inställningar</guimenu
> <guimenuitem
>Visa statusrad</guimenuitem
></menuchoice
> för att visa den. </para>

<para
>Det finns två sorters vektorer: <link linkend="data-types-vectors-data"
>datavektorer</link
> och <link linkend="data-types-vectors-static"
>statiska vektorer</link
>. 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. </para>

<sect3 id="data-types-vectors-data">
<title
>Datavektor</title>
<para
>Följande är en skärmbild av fönstret som visas när vektorer redigeras. En ny datavektor skapas om du markerar alternativknappen <guibutton
>Läs från datakälla</guibutton
> i dialogrutan Ny vektor. Förklaringar av inställningarna listas nedan. </para>

<screenshot>
<screeninfo
>Redigera vektorer</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-vectoredit.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Redigera vektorer</phrase>
</textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term>
<guilabel
>Filnamn</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Fält eller kolumn</guilabel>
</term>
<listitem>
<para
>Fältet eller kolumnen som ska användas för vektorn. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Startpost</guilabel
>, <guilabel
>Räkna från slutet</guilabel
>, <guilabel
>Intervall</guilabel
> och <guilabel
>Läs till slutet</guilabel
> </term>
<listitem>
<para
>Den här avdelningen anger dataintervallet att använda från datavektorns utvalda fält. Beskrivningen förutsätter kunskap om konceptet med <link linkend="data-sources-concepts-frames"
>poster</link
>. 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 <userinput
>10</userinput
> för <guilabel
>Startpost</guilabel
> och <userinput
>890</userinput
> för <guilabel
>Antal poster</guilabel
>. För att läsa från post 500 till filens slut, skriv in <userinput
>500</userinput
> för <guilabel
>Startpost</guilabel
> och markera alternativet <guilabel
>Läs till slutet</guilabel
>. För att bara läsa de 450 sista posterna från filen, markera alternativet <guilabel
>Räkna från slutet</guilabel
> och skriv in <userinput
>450</userinput
> för <guilabel
>Antal poster</guilabel
>. 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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Läs en sampling per</guilabel
> och <guilabel
>Lågpassfilter först</guilabel
> </term>
<listitem>
<para
>Förutom undre och övre gräns för dataintervallet, kan samplingarna som ska läsas från det valda intervallet anges. Om <guilabel
>Läs en sampling per</guilabel
> inte är markerad, läses alla samplingar i det valda intervallet. Om <guilabel
>Läs en sampling per</guilabel
> är markerat, läses bara en sampling per <literal
>N</literal
> poster, där <literal
>N</literal
> ä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 <guilabel
>Lågpassfilter först</guilabel
> markeras. Om <guilabel
>Lågpassfilter först</guilabel
> inte är markerat, är värdet samma som första samplingen i posten. Om <guilabel
>Lågpassfilter först</guilabel
> är markerat, är värdet medelvärdet av alla samplingar i den speciella posten. </para>
</listitem>
</varlistentry>
</variablelist>
</sect3>

<sect3 id="data-types-vectors-static">
<title
>Statiska vektorer</title>
<para
>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 <guibutton
>Skapa</guibutton
> i dialogrutan Ny vektor. Förklaringar av inställningarna listas nedan. </para>

<screenshot>
<screeninfo
>Redigera statiska vektorer</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-staticvectoredit.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Redigera vektorer</phrase>
</textobject>
</mediaobject>
</screenshot>

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

<sect3 id="KstScript-vectors">
<title
>Skapa vektorer från Kst-skript</title>
<para
>Du kan också skapa och initiera vektorer genom att använda Kst-skript. Se information om <link linkend="extensions-kstscript"
>Kst-skript</link
> i utökningskapitlet, och om klasserna <link linkend="class_Vector"
>Vector</link
> och <link linkend="class_DataVector"
>DataVector</link
> i skriptkapitlet. </para>
<para
>Exempel ges nedan: </para>
<example id="kstscript-static-vector">
<title
>Exempel på användning av Kst-skript för att skapa en statisk vektor</title>
<programlisting
>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&lt;100; i++){v[i]=Math.random()}; // initiera vektorn
</programlisting>
</example>
<example id="kstscript-data-vector">
<title
>Exempel på användning av Kst-skript för att ladda vektorer från källfiler</title>
<programlisting
>source = new DataSource("rand.dat"); // ange en datakälla i filsystemet. Se klassen <link linkend="class_DataSource"
>DataSource</link
> 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
</programlisting>
</example>
</sect3>

</sect2>

<sect2 id="data-types-curves">
<title
>Kurvor</title>
<para
>Kurvor används i huvudsak för att skapa uppritningsbara objekt från vektorer. Kurvor skapas av två vektorer, en <quote
>X-axelvektor</quote
> och en <quote
>Y-axelvektor</quote
>, 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). </para>
<para
>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. </para>

<screenshot>
<screeninfo
>Redigera kurvor</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-curveedit.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Redigera kurvor</phrase>
</textobject>
</mediaobject>
</screenshot>

<variablelist>

<varlistentry>
<term>
<guilabel
>Förklaringstext</guilabel>
</term>
<listitem>
<para
>Strängen som används i diagrammets förklaring för att beskriva kurvan. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>X-axelvektor</guilabel>
</term>
<listitem>
<para
>Vektorn att använda för den oberoende (horisontella) axeln. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Y-axelvektor</guilabel>
</term>
<listitem>
<para
>Vektorn att använda för den beroende (vertikala) axeln. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>+X-felstapel</guilabel
> och <guilabel
>+Y-felstapel</guilabel
> </term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Använd +<replaceable
>X/Y</replaceable
>-felstapel för -<replaceable
>X/Y</replaceable
></guilabel
></term
> <listitem
><para
>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 <guilabel
>-<replaceable
>X/Y</replaceable
> felstapel</guilabel
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>-<replaceable
>X/Y</replaceable
>-felstapel</guilabel
></term>
<listitem
><para
>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.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Färg</term>
<listitem
><para
>Avgör färgen på datapunkterna i kurvan. Att klicka på knappen <inlinemediaobject
><imageobject
><imagedata fileref="Widget-kst-colorchooser.png" format="PNG"/></imageobject
></inlinemediaobject
> visar &kde;:s vanliga färgväljare.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Visa punkter</guilabel
></term>
<listitem
><para
>Bestämmer om datapunkter indikeras av den valda markörtypen eller inte.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Täthet</guilabel
></term>
<listitem
><para
>Om <guilabel
>Visa punkter</guilabel
> är aktiverat, tillåter <guilabel
>Täthet</guilabel
> att &kst; bara visar enstaka punkter, om de annars skulle överhopa diagrammet.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Visa linjer</guilabel
></term>
<listitem
><para
>Bestämmer om datapunkter kommer att förbindas av linjer.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Bredd</guilabel
></term>
<listitem
><para
>Om <guilabel
>Visa linjer</guilabel
> är aktiverad, ger detta kurvans bredd i bildpunkter.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Stapeldiagram</guilabel
></term>
<listitem
><para
>Ritar linjer eller rektanglar från datapunkter till linjen y = 0 i diagrammet.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Ignorera vid automatisk intervallberäkning av axlar</guilabel
></term>
<listitem
><para
>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.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Förskjutning av Y-axelvektor</guilabel
></term>
<listitem
><para
>Om alternativet är markerat, subtraheras den motsvarande markerade skalären från kurvans Y-värde.</para>
</listitem>
</varlistentry>

</variablelist>

<sect3>
<title
>Använda klassen Curves i Kst-skript</title>

<para
>Kst-skript kan användas för att rita upp en kurva. Se information om <link linkend="class_Curve"
>klassen Curve</link
> i skriptkapitlet.</para>

<example id="curve-kstscript-eg">
<title
>Exempel på användning av Kst-skript för att rita upp en kurva</title>
<programlisting
>// xv och yv är befintliga vektorer i datahanteringen. 
// Se exempel <link linkend="kstscript-static-vector"
>3.1</link
> och <link linkend="kstscript-data-vector"
>3.2</link
> 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 <link linkend="class_Window"
>fönsterobjekt</link
> och ett <link linkend="class_Plot"
>diagramobjekt</link
> skapas.
w = new Window();
p = new Plot(w);
// använd metoden <link linkend="class_Collection"
>append</link
> i <link linkend="class_CurveCollection"
>klassen CurveCollection</link
> för att visa kurvan i diagrammet
p.cuves.append(c);
</programlisting>

<para
>Det finns ett detaljerat exempel på vektorer, diagram och kurvor i utökningskapitlet. Klicka <link linkend="kstscriptexample"
>här</link
> för att titta på det. </para>
</example>
</sect3>
</sect2>

<sect2 id="data-types-equations">
<title
>Ekvationer</title>
<para
>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. </para>
<para
>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. </para>

<screenshot>
<screeninfo
>Redigera ekvation</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-equationedit.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term>
<guilabel
>Operatorer</guilabel>
</term>
<listitem>
<para
>En lista med tillgängliga operatorer. Genom att välja en operator i listan infogas den vid den nuvarande markörpositionen i textrutan <guilabel
>Ekvation</guilabel
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Vektorer</guilabel>
</term>
<listitem>
<para
>En lista med nuvarande vektorobjekt i &kst;. Genom att välja en vektor i listan infogas den vid den nuvarande markörpositionen i textrutan <guilabel
>Ekvation</guilabel
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Skalärer</guilabel>
</term>
<listitem>
<para
>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 <guilabel
>Ekvation</guilabel
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Ekvation</guilabel>
</term>
<listitem>
<para
>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 <emphasis
>ange vektor- och skalärnamn inom hakparenteser</emphasis
>. </para>
<para
>Se <link linkend="equation-expressions"
>Ekvationsuttryck i Kst</link
> för en fullständig lista av operatorer, funktioner och konstanter för att uttrycka ekvationer i Kst. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>X-vektor</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Interpolera till vektorn med högst upplösning</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

</variablelist>

<sect3>
<title
>Använda klassen Equation i Kst-skript</title>
<para
>Klassen <link linkend="class_Equation"
>Equation</link
> i Kst-skript tillhandahåller metoder för att hantera ekvationsobjekt. Ett exempel visas nedan. </para>
<example id="kstscript-equation-eg">
<title
>Exempel på användning av klassen Equation</title>
<programlisting
>// 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&lt;100; i++){x[i]=i;}

// skapa ett ekvationsobjekt
eq = new Equation("LN([x_vector])",x); // ange ekvationsuttrycket
                                      // titta i <link linkend="equation-expressions"
>ekvationsappendix</link
> 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 <link linkend="curve-kstscript-eg"
>exempel 3.3</link
> för att visa kurvan 
</programlisting>
</example>
</sect3>


</sect2>

<sect2 id="data-types-histograms">
<title
>Histogram</title>
<para
>Objektet beräknar histogrammet av en utvald vektor. </para>
<para
>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. </para>

<screenshot>
<screeninfo
>Redigera histogram</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-histogramedit.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term>
<guilabel
>Datavektor</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Från</guilabel
> och <guilabel
>Till</guilabel
> </term>
<listitem>
<para
>Fältet <guilabel
>Från</guilabel
> innehåller vänstra gränsen för området längst till vänster i histogrammet. Fältet <guilabel
>Till</guilabel
> innehåller högra gränsen för området längst till höger i histogrammet. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Antal områden</guilabel>
</term>
<listitem>
<para
>Skriv in totalt antal områden som ska användas i fältet. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guibutton
>Automatiska områden</guibutton>
</term>
<listitem>
<para
>Istället för att ange värden för <guilabel
>Från</guilabel
>, <guilabel
>Till</guilabel
> och <guilabel
>Antal områden</guilabel
>, kan du klicka på <guibutton
>Automatiska områden</guibutton
> 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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Antal i området</guilabel>
</term>
<listitem>
<para
>Genom att välja det här alternativet gör att Y-axeln motsvarar antal element i varje område. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Bråkdel i området</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Procent i området</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Högsta område satt till 1.0</guilabel>
</term>
<listitem>
<para
>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). </para>
</listitem>
</varlistentry>
</variablelist>

<sect3>
<title
>Använda klassen Histogram i Kst-skript</title>
<para
>Histogram kan också skapas via Kst-skript. Se information om klassen <link linkend="class_Histogram"
>Histogram</link
> i appendix Arbeta med Kst-skript. </para>

<example id = "kstscript-histogram-eg">
<title
>Exempel på att skapa ett histogram via Kst-skript</title>
<para
>Exemplet nedan använder datafilen <filename
>normal.dat</filename
>, skapad av perl-skriptet i <link linkend="commontasks-generatehistogram"
>Skapa ett histogram</link
> från kapitel 2.</para>
<programlisting
>// 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 <link linkend="class_Curve"
>klassen Curve</link>
c = new Curve(hs);

// visa histogrammet: se <link linkend="curve-kstscript-eg"
>exempel 3.3</link
>w=new Window();
p = new Plot(w);
p.curves.append(c);
</programlisting>

</example
></sect3>
</sect2>

<sect2 id="data-types-spectrum">
<title
>Spektrum</title>
<para
>Dataobjektet beräknar den diskreta Fouriertransformen (DFT) av en indatasignal med algoritmen för snabb Fouriertransform (FFT), och ger signalens spektrum som resultat.</para>
<para
>Den matematiska definitionen av DFT är:</para>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Formula-kst-DFT.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>DFT </phrase>
</textobject>
</inlinemediaobject>
 </para>
<para
>där <literal
>x(n)</literal
> är indatasignalen, och <literal
>N</literal
> är antal samplingar. </para>
<para
>Följande definitioner förutsätter grundkunskap om effektspektrum. Vi använder konventioner och terminologi från <quote
>Numerical Recipes in C: The Art of Scientific Computing</quote
>, publicerad av Cambridge University Press. </para>

<screenshot>
<screeninfo
>Fönstret Effektspektrum</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-spectraedit.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Fönstret Effektspektrum</phrase>
</textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term>
<guilabel
>Datavektor</guilabel>
</term>
<listitem>
<para
>Datavektorn att skapa effektspektrum från. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Appodisera, Funktion och Sigma</guilabel>
</term>
<listitem>
<para
>En appodiseringsfunktion är en funktion som används för att minska läckage. </para>
<para
>I kombinationsrutan <guilabel
>Funktion</guilabel
>, kan appodiseringsfunktionen som används för spektrat väljas bland: </para>
<itemizedlist>
<listitem
><para
>Förval </para
></listitem>

<listitem
><para>
<ulink url="http://mathworld.wolfram.com/BartlettFunction.html"
>Bartlett</ulink>
</para
></listitem>

<listitem
><para>
<ulink url="http://mathworld.wolfram.com/BlackmanFunction.html"
>Blackman</ulink>
</para
></listitem>

<listitem
><para>
<ulink url="http://mathworld.wolfram.com/ConnesFunction.html"
>Connes</ulink>
</para
></listitem>

<listitem
><para>
<ulink url="http://mathworld.wolfram.com/CosineApodizationFunction.html"
>Cosins</ulink>
</para
></listitem>

<listitem
><para>
<ulink url="http://mathworld.wolfram.com/GaussianFunction.html"
>Gaussisk (eget sigma)</ulink>
</para
></listitem>

<listitem
><para>
<ulink url="http://mathworld.wolfram.com/HammingFunction.html"
>Hamming</ulink>
</para
></listitem>

<listitem
><para>
<ulink url="http://mathworld.wolfram.com/HanningFunction.html"
>Hann</ulink>
</para
></listitem>

<listitem
><para>
<ulink url="http://mathworld.wolfram.com/WelchApodizationFunction.html"
>Welch</ulink>
</para
></listitem>

</itemizedlist>


<para
>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å <guilabel
>Sigma</guilabel
> anges för att definiera dess effektiva bredd. </para>

</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Ta bort medelvärde</guilabel>
</term>
<listitem>
<para
>Markera alternativet för att ta bort medelvärdet från data när transformen beräknas. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Inflätat medelvärde</guilabel
> och <guilabel
>FFT-längd</guilabel
> </term>
<listitem>

<para
>Genom att markera <guilabel
>Inflätat medelvärde</guilabel
> 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 <guilabel
>Inflätat medelvärde</guilabel
> inte markeras, använder &kst; den minsta möjliga längden som är större än vektorns längd. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Interpolera över hål</guilabel>
</term>
<listitem>
<para
>Om datavektorn innehåller NaN-värden, interpolerar &kst; förbi dem vid beräkning av effektspektrum om alternativet markeras. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guibutton
>Samplingsfrekvens</guibutton>
</term>
<listitem>
<para
>Det här är antalet samplingar per tidsenhet i datavektorn. Samplingsfrekvensen används för att skapa X-axeln i diagram med effektspektrum. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Vektorenheter</guilabel
> och <guilabel
>Samplingsenheter</guilabel
> </term>
<listitem>
<para
>Enheterna som anges i textrutorna används med syftet att automatiskt skapa axeltexter för diagrammen. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Utmatning</guilabel>
</term>
<listitem>

<para
>Utdataspektrum kan väljas från</para>

<itemizedlist>

<listitem>
<para
>Amplitudspektraltäthet (V/Hz^½) </para>

</listitem>

<listitem
><para
>Effektspektraltäthet (V²/Hz) </para
></listitem>

<listitem
><para
>Amplitudspektrum (V) </para>

</listitem>

<listitem
><para
>Effektspektrum (V²) </para
></listitem>



</itemizedlist>

<para
>Alternativet som väljes i kombinationsrutan avgör vilken variant av effektspektrum som ska beräknas.</para>
<para
>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. </para>

</listitem>
</varlistentry>
</variablelist>



<sect3>
<title
>Använda klassen PowerSpectrum i Kst</title>
<para
>Klassen <link linkend="class_PowerSpectrum"
>PowerSpectrum</link
> i Kst-skript kan också användas för att skapa effektspektra.</para>
<example id ="kstscript-spectrum-eg">
<title
>Exempel på användning av klassen PowerSpectrum</title>
<programlisting
>// 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 &lt;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";
</programlisting>
<para
>Efter att ha kört ovanstående skript, ska datahanteringen se ut så här:</para>

<screenshot>
<screeninfo
>Resultatnamn i datahanteringen</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-ch3-spect-eg.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Resultatnamn i datahanteringen</phrase>
</textobject>
</mediaobject>
</screenshot>


<para
>Senare kan effektspektrats egenskaper ändras på följande sätt: </para>
<programlisting
>ps.removeMean = true; // aktivera alternativet ta bort medelvärde
ps.length = 13; // ändra FFT-längden till att vara 2^13
</programlisting>
</example
></sect3>

</sect2>

<sect2 id="data-types-spectrogram">
<title
>Spektrogram</title>
<para
>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 <quote
>vattenfallsdiagram</quote
>. 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). </para>
<screenshot>
<screeninfo
>Exempel på spektrogram</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-spectrogramexample.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

<para
>Här är redigeringsdialogrutan för spektrogramobjektet. </para>

<screenshot>
<screeninfo
>Fönstret för att redigera spektrogram</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-spectrogramedit.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

<para
>En förklaring av alternativen som är specifika för spektrogrammet ges nedan: </para>

<variablelist>
<varlistentry>
<term>
<guilabel
>Fönsterstorlek</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>FFT-alternativ</guilabel>
</term>
<listitem>
<para
>Detta är alternativen för varje enskilt spektrum. Se dataobjektet <link linkend="data-types-spectrum"
>Spektrum</link
> för mer information. Utdatakvantiteterna anges av färgskalären. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Färgpalett</guilabel>
</term>
<listitem>
<para
>Alternativet ska kommas åt från dialogrutan <guilabel
>Redigera bild</guilabel
> för bilden skapad av spektrogrammet.</para>
<para
>Här kan du välja färgschema att använda för spektrogrammet. Amplituderna hos spektrat färgkodas enligt valt schema. </para>
</listitem>
</varlistentry>
</variablelist>
<sect3>
<title
>Använda klassen Spectrogram i Kst-skript</title>
<para
>Ett spektrogram kan också skapas genom att använda klassen <link linkend="class_Spectrogram"
>Spectrogram</link
> i Kst-skript.</para>
<example id="Spectrogram-kstscript-eg">
<title
>Exempel på användning av klassen Spectrogram</title>
<para
>Vektorn <quote
>slump</quote
> skapad i <link linkend="kstscript-spectrum-eg"
>exempel 3.6</link
> används återigen i detta exempel.</para>
<programlisting
>s = new Spectrogram("slump",10) // skapa ett spektrogram genom att använda vektorn <quote
>slump</quote>
                               // och ange att frekvensen ska vara 10 Hz
s.windowsize = 500; // anger att fönsterstorleken ska vara 500
s.tagName = "slump_spektrogram";
</programlisting>
<para
>Nu kan du kontrollera att <quote
>slump_spektrogram</quote
> finns i datahanteringen. Du kan visa vattenfallsdiagrammet genom att skapa en bild av slavmatrisen.</para>
</example>
</sect3>
</sect2>

<sect2 id="data-types-plugins">
<title
>Insticksprogram</title>
<para
>Ett dataobjekt för insticksprogram representerar ett insticksprogram i &kst;. Alla insticksprogram har ett gemensamt format och visas som typen <quote
>Insticksprogram</quote
> i datahanteringen. För mer information om tillgängliga insticksprogram och deras alternativ, se kapitlet om <link linkend="plugins"
>insticksprogram</link
>. </para>
</sect2>

<sect2 id="data-types-eventmonitors">
<title
>Händelsebevakning</title>
<para
>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 <quote
>rörlig</quote
> 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. </para>

<para
>Du kan skapa en ny händelsebevakning med alternativet <menuchoice
><guimenu
>Data</guimenu
><guimenuitem
>Ny händelsebevakning...</guimenuitem
></menuchoice
>, eller genom att använda <link linkend="data-overview-datamanager"
>Datahanteringen</link
>. </para>

<para
>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. </para>

<screenshot>
<screeninfo
>Redigera händelsebevakning</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-eventmonitoredit.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term>
<guilabel
>Uttryck</guilabel>
</term>
<listitem>
<para
>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. </para>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Beskrivning</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Logga som:</guilabel
></term>
<listitem>
<para
>Aktivera kryssrutan för att låta poster läggas till i &kst;:s <link linkend="settings-debuglog"
>felsökningslogg</link
> 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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>E-postmeddelande</guilabel
></term>
<listitem>
<para
>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 <link linkend="settings-globalsettings"
>inställningsdialogruta</link
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>ELOG</guilabel
></term>
<listitem>
<para
>Om <link linkend="extensions-elog"
>Elog-utökningen</link
> ä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 <link linkend="extensions-elog"
>ELOG</link
> för mer information. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Kst-skript</guilabel
></term>
<listitem>
<para
>Om alternativet är aktiverat, kan händelsebevakningen köra ett Kst-skript när det utlöses. Se dokumentationen om <link linkend="extensions-kstscript"
>Kst-skript</link
> för mer information. </para>
</listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="data-types-matrix">
<title
>Matris</title>
<para
>En matris representerar en uppsättning tredimensionella datapunkter (x, y, z) arrangerade i ett tvådimensionellt rutnät. </para>

<screenshot>
<screeninfo
>Matrisstruktur</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Diagram-kst-data-matrix.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

<para
>Precis som är fallet för datatypen <link linkend="data-types-vectors"
>vektor</link
>, finns det två sorters matris: data och statisk. <link linkend="data-types-matrix-data"
>Datamatriser</link
> läses från datakällor, och <link linkend="data-types-matrix-static"
>statiska matriser</link
> skapas av &kst;. </para>

<sect3 id="data-types-matrix-data">
<title
>Datamatris</title>
<para
>Följande är en skärmbild av fönstret som visas när en datamatris redigeras. En ny datamatris skapas om du markerar alternativknappen <guibutton
>Läs från datakälla</guibutton
> i dialogrutan Ny matris. </para>

<screenshot>
<screeninfo
>Redigera datamatris</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-matrixedit.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

<para
>Alla alternativ som är tillgängliga för datamatriser motsvarar alternativen för <link linkend="data-types-vectors-data"
>datavektorer</link
>. </para>

<variablelist>

<varlistentry>
<term
><guilabel
>Datakällans parametrar</guilabel
></term>
<listitem
><para
>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,<replaceable
>antal rader,x-minvärde,y-minvärde,x-stegstorlek,y-stegstorlek</replaceable
>]. Ett mycket <link linkend="mx-source-file"
>enkelt exempel</link
> på en matriskällfil tillhandahålls nedan. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Dataintervall</guilabel
></term>
<listitem>
<para
>Alternativet låter dig använda bara en del av matrisen genom att ange dataintervall i både X- och Y-riktning. <itemizedlist
> <listitem
><para
> <guilabel
>X-startpost:</guilabel
>: startindex i matrisens X-dimension </para
></listitem
> <listitem
><para
><guilabel
>Y-startpost:</guilabel
>: startindex i matrisens Y-dimension </para
></listitem
> <listitem
><para
><guilabel
>Antal X-poster:</guilabel
>: antal datapunkter som behövs i X-dimensionen </para
></listitem
> <listitem
><para
><guilabel
>Antal Y-poster:</guilabel
>: antal datapunkter som behövs i Y-dimensionen </para
></listitem
> </itemizedlist
> <link linkend="extract-mx"
>Det enkla exemplet</link
> nedan visar hur alternativet används. </para>
</listitem>
</varlistentry>

</variablelist>




<sect4 id="mx-source-file">
<title
>Exempel på en enkel matriskällfil</title>
<informalexample>
<programlisting
>[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
</programlisting>
</informalexample>
<para
>Resultatmatrisen skulle vara en 2 &#215; 5 matris, där de 10 samplingarna alla ingår: <screenshot>
<screeninfo
>Enkel matris</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-matrixfile.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Enkel matris</phrase>
</textobject>

</mediaobject>
</screenshot>

</para>
<note
><para
>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. </para>
<para
>Om matrisens fältnamn är [MATRIX,6,0,0,1,1], får resultatmatrisen dimensionen 1&#215;6. Bara sex samplingar skulle ingå. </para
></note>
</sect4>

<sect4 id="extract-mx">
<title
>Exempel på att ange en del av matrisen</title>
<para
>Om bara en del av matrisen från index (1,2) till index (2,4) behövs för 2&#215;5-matrisen i skärmbilden ovan, dvs. </para>
<para
>0,12 0,64</para>
<para
>0,49 0,9</para>
<para
>0,97 0,53 </para>
<para
>måste <guilabel
>Dataintervall</guilabel
> anges på följande sätt:</para>
<itemizedlist>

<listitem
><para
><guilabel
>X-startpost</guilabel
> 0 </para
></listitem>

<listitem
><para
><guilabel
>Y-startpost</guilabel
> 1 </para
></listitem>

<listitem
><para
><guilabel
>Antal X-poster</guilabel
> 2 </para
></listitem>

<listitem
><para
><guilabel
>Antal Y-poster</guilabel
> 3 </para
></listitem>

</itemizedlist>
<para
>Resultatet blir detta:</para>
<screenshot>
<screeninfo
>Extraherad matris</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-matrixrange.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Extraherad matris</phrase>
</textobject>
</mediaobject>
</screenshot>
</sect4>

</sect3>

<sect3 id="data-types-matrix-static">
<title
>Statisk matris</title>

<para
>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 <link linkend="view-overview-concepts-example"
>kommentarobjektet</link
>. En ny statisk matris skapas om du väljer alternativknappen <guibutton
>Skapa gradient</guibutton
> i dialogrutan <guilabel
>Ny matris</guilabel
>. </para>

<screenshot>
<screeninfo
>Redigera statisk matris</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-staticmatrixedit.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

<para
>Alternativen låter dig skapa en matris som har en linjär gradient i Z, antingen längs X- eller Y-axeln. </para>
<para
>Stegalternativen låter dig ställa in matrisens storlek. <itemizedlist>

<listitem
><para
><guilabel
>X</guilabel
>-steg anger kolumnnummer </para
></listitem>

<listitem
><para
><guilabel
>Y</guilabel
>-steg anger radnummer </para
></listitem>

</itemizedlist>

</para>
<para
>Alternativen <guilabel
>X-minimum</guilabel
>, <guilabel
>Y-minimum</guilabel
> och <guilabel
>X-stegstorlek</guilabel
>, <guilabel
>Y-stegstorlek</guilabel
> låter dig ställa in X- och Y-intervall. </para>
</sect3>

<sect3>
<title
>Använda matriser via Kst-skript</title>
<para
>Matriser kan också skapas med Kst-skript. Se information om klassen <link linkend="class_Matrix"
>Matrix</link
> och klassen <link linkend="class_DataMatrix"
>DataMatrix</link
> i skriptkapitlet. </para>
<example id="kstscript-data-matrix-eg">
<title
>Exempel på användning av klassen DataMatrix i Kst-skript</title>

<programlisting
>s = new DataSource("home/vyiwen/mx.dat") // <filename
>mx.dat</filename
> är samma matriskällfil som i exempelkällfilen ovan
m = new DataMatrix(s, "[MATRIX,5,0,0,1,1]") // använd <filename
>mx.dat</filename
> för att skapa en matris
m.tagName = "Enkel_matris"; // Ge matrisen namnet <quote
>Enkel_matris</quote
> 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 <quote
>Enkel_matris</quote>
                 // den ska vara samma 2 x 3-matris som
                 // i exemplet ovan där en del av matrisen anges.
</programlisting>
</example>
<example>
<title
>Exempel på användning av klassen Matrix för att skapa en statisk matris</title>
<programlisting
>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&#060;5;i++){for(var j=0; j&#060;3;j++){y/setValue(i,j,i+j)}}; // initiera matrisen
y.tagName="mx"; // nu ska du se matrisen <quote
>mx</quote
> i datahanteringen
</programlisting>
</example>
</sect3>


</sect2>

<sect2 id="data-types-images">
<title
>Bilder</title>
<para
>Bilder är grafiska representationer av <link linkend="data-types-matrix"
>matriser</link
>. Bilder kan ritas upp som färgkartor, konturkartor eller både och. </para>
<screenshot>
<screeninfo
>Bildfönster</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-imageedit.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Bildfönster</phrase>
</textobject>
</mediaobject>
</screenshot>


<variablelist>
<varlistentry>
<term>
<guilabel
>Matrisval</guilabel>
</term>
<listitem>
<para
>Välj matrisen som ska användas för bilden. Nya matriser kan skapas eller redigeras genom att klicka på knappen till höger. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Färgavbildning</guilabel
>, <guilabel
>Konturavbildning</guilabel
> och <guilabel
>Färgavbildning och konturavbildning</guilabel
> </term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Färgpalett</guilabel>
</term>
<listitem>
<para
>Välj färgpalett att använda för färgavbildningen. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Tröskel</guilabel
>, <guilabel
>Undre</guilabel
> och <guilabel
>Övre</guilabel
> </term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Maximal och minimal</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Smart</guilabel
> och <guilabel
>Percentil</guilabel
> </term>
<listitem>
<para
>Att klicka på knappen <guilabel
>Smart</guilabel
> 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 <guilabel
>Percentil</guilabel
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Automatiskt tröskel i realtid</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Antal konturnivåer</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guibutton
>Färg</guibutton>
</term>
<listitem>
<para
>Välj färg att använda för konturlinjerna. Genom att klicka på knappen visas en vanlig färgvalsdialogruta i &kde;. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Bredd</guilabel
> och <guilabel
>Använd variabel linjebredd</guilabel
> </term>
<listitem>
<para
>Välj konturlinjernas <guilabel
>Bredd</guilabel
>, eller <quote
>tjocklek</quote
>. Om <guilabel
>Använd variabel linjebredd</guilabel
> ä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. </para>
</listitem>
</varlistentry>
</variablelist>
<sect3>
<title
>Klassen Image i Kst-skript</title>
<para
>Se klassen <link linkend="class_Image"
>Image</link
> i skriptkapitlet för detaljinformation.</para>
</sect3>
</sect2>

<sect2 id="data-types-vector-view">
<title
>Vektorvy </title>
<para
>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. </para>

<screenshot>
	<screeninfo
>Redigera vektorvy </screeninfo>
	<mediaobject>
		<imageobject>
			<imagedata fileref="Screenshot-kst-data-vectorviewedit.png" format="PNG"/> 

		</imageobject>
		<textobject>
			<phrase
>Redigera vektorvy </phrase>
		</textobject>
	</mediaobject>
</screenshot>

<variablelist>
	<varlistentry>
		<term>
			<guilabel
>Indatavektorer </guilabel>
		</term>
		<listitem>
			<para
>Välj en X- eller Y-axelvektor som indata bland befintliga vektorer, eller skapa en genom att använda snabbikonerna. </para>
		</listitem>
	</varlistentry>

	<varlistentry>
		<term>
			<guilabel
>Visa intervall </guilabel>
		</term>
		<listitem>
			<para
>Justera diagrammets visningsintervall genom att välja <guilabel
>X-min</guilabel
> och <guilabel
>Y-min</guilabel
> samt <guilabel
>X-max</guilabel
> och <guilabel
>Y-max</guilabel
> för indatavektorerna. </para>
		</listitem>
	</varlistentry>

	<varlistentry>
		<term>
			<guilabel
>Flaggvektor </guilabel>
		</term>
		<listitem>
			<para
>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. </para>
		</listitem>
	</varlistentry>


</variablelist>

</sect2>

</sect1>

<sect1 id="data-tools">
<title
>Dataverktyg</title>


<sect2 id="data-tools-wizard">
<title
>Dataguiden</title>

<para
>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 <menuchoice
><guimenu
>Verktyg</guimenu
> <guimenuitem
>Dataguide</guimenuitem
></menuchoice
> eller klicka på ikonen <inlinemediaobject
> <imageobject
> <imagedata fileref="Icon-kst-datawizard.png" format="PNG"/></imageobject
><textobject
> <phrase
>Dataguideikon</phrase
> </textobject
> </inlinemediaobject
> i verktygsraden. Datakällans fönster visas enligt nedan, och du måste välja en fil som datakälla. </para>
<screenshot>
<screeninfo
>Datakälla</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-wizard-datasource.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Datakälla</phrase>
</textobject>

</mediaobject>
</screenshot>

<sect3 id="kst-datatools-configure-data-source">
<title
>Anpassa en datakälla</title>
<para
>Efter att ha valt datakällans fil, måste du kanske ställa in filen genom att klicka på <guibutton
>Anpassa...</guibutton
>. Se avsnittet <link linkend="data-sources-ascii"
>ASCII-datakälla</link
> om hur dialogrutan <guilabel
>Anpassa datakälla</guilabel
> används. </para>

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

</sect3>

<sect3 id="data-tools-wizard-selectdatafile">
<title
>Välja data</title>

<screenshot>
<screeninfo
>Dialogrutan Välj data i dataguiden</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-wizard-selectdata.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Dialogrutan Välj data i dataguiden</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>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 <guilabel
>Tillgänglig data</guilabel
> och <guilabel
>Vald data</guilabel
>. Uppåt- och neråtpilarna låter dig flytta positionen för valda vektorer upp eller ner i området <guilabel
>Vald data</guilabel
>. Du kan filtrera listan med fält genom att skriva in en sträng som matchar (jokertecken som <literal
>*</literal
> stöds) i textrutan ovanför listan. Klicka på knappen <guibutton
>Nästa</guibutton
> för att gå vidare till rutan <guilabel
>Datapresentation</guilabel
>. </para>

</sect3>
<sect3 id="data-tools-wizard-presentation">
<title
>Presentation</title>

<screenshot>
<screeninfo
>Dialogrutan Datapresentation i dataguiden</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-wizard-presentation.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Dialogrutan Datapresentation i dataguiden</phrase>
</textobject>
</mediaobject>
</screenshot>

<anchor id="data-tools-wizard-range"
></anchor>
<para
>Avdelningen <guilabel
>Dataintervall</guilabel
> 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 <link linkend="data-types-vectors"
>vektor</link
>. </para>

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

<variablelist>

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

<varlistentry>
<term>
<guilabel
>X-axelvektor</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

</variablelist>

<para
>Avdelningen <guilabel
>FFT-alternativ</guilabel
> i dataguiden är bara tillgängligt om ett effektspektrum ska ritas upp. Detaljerad information om alternativen finns i avsnittet om <link linkend="data-types-spectrum"
>spektrum</link
>. </para>

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

<sect3 id="data-tools-wizard-configureplotlayout">
<title
>Anpassa diagramlayout</title>

<screenshot>
<screeninfo
>Dialogrutan Anpassa diagramlayout i dataguiden</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-wizard-configurelayout.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Dialogrutan Anpassa diagramlayout i dataguiden</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>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. </para>

<variablelist>
<varlistentry>
<term>
<guilabel
>Kurvans stil</guilabel>
</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Kurvans placering</guilabel>
</term>
<listitem>
<para
>Välj diagrammen där de nya kurvorna ska placeras. <guilabel
>Gå igenom</guilabel
> fördelar kurvorna i diagrammen genom att cykliskt gå igenom diagrammen. </para>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Skapa text</guilabel>
</term>
<listitem>
<para
>Välj önskad text och förklaringar som ska placeras i diagrammen. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Diagramplacering</guilabel>
</term>
<listitem>
<para
>Välj önskade fönster där de nya diagrammen ska placeras. Nya fönster kan skapas för diagrammen genom att välja <guilabel
>I nytt fönster</guilabel
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>Axelläge för effektspektrum</guilabel>
</term>
<listitem>
<para
>Markera kryssrutorna om du vill att det automatiskt skapade effektspektrat ska ha logaritmiska X- eller Y-axlar. </para>
</listitem>
</varlistentry>

</variablelist>

<para
>Så fort du är nöjd med alla inställningar, klicka på <guibutton
>Slutför</guibutton
> så skapas diagrammen. </para>
</sect3>
</sect2>

<sect2 id="data-tools-datamenu">
<title
>Menyn Data</title>
<para
>Menyn <guimenu
>Data</guimenu
> 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. </para>
<variablelist>
<varlistentry>
<term
><guimenuitem
>Uppdatera</guimenuitem
></term>
<listitem>
<para
>Uppdaterar alla datavektorer från deras källfiler. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Datahantering</guimenuitem
></term>
<listitem>
<para
>Visar <link linkend="data-overview-datamanager"
>Datahantering</link
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Vyhantering</guimenuitem
></term>
<listitem>
<para
>Öppnar <link linkend="view-overview-viewmanager"
>Vyhantering</link
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Ny/Nytt</guimenuitem
> [dataobjekt]</term>
<listitem>
<para
>Visar motsvarande dialogruta för att skapa dataobjektet. Se <link linkend="data-types"
>Datatyper</link
> för beskrivningar av varje dialogruta. </para>
</listitem>
</varlistentry>

<varlistentry>
<term id="data-tool-view-scalar-vlaues"
><guimenuitem
>Visa skalära värden</guimenuitem
></term>
<listitem>
<para
>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. </para>
<screenshot>
<screeninfo
>Visa skalära värden</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-viewscalarvalues.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
</listitem>
</varlistentry>

<varlistentry>
<term id="data-tool-view-vector-vlaues"
><guimenuitem
>Visa skalära värden</guimenuitem
></term>
<listitem>
<para
>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. </para>
<screenshot>
<screeninfo
>Visa vektorvärden</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-viewvectorvalues.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Visa matrisvärden</guimenuitem
></term>
<listitem>
<para
>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. </para>
<screenshot>
<screeninfo
>Visa vektorvärden</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-viewmatrixvalues.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
</listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Visa anpassningsresultat</guimenuitem
></term>
<listitem>
<para
>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. </para>
<screenshot>
<screeninfo
>Anpassa en kurva - Anpassningsresultat</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-commontasks-curvefitting-fitresults.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot
> 
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="data-tools-datamode">
<title
>Datavisningsläge</title>
<para
>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 <menuchoice
><guimenu
>Diagram</guimenu
><guimenuitem
>Dataläge</guimenuitem
></menuchoice
> eller klicka på <inlinemediaobject
><imageobject
><imagedata fileref="Icon-kst-datamode.png" format="PNG"/></imageobject
></inlinemediaobject
> ikonen Dataläge i <link linkend="view-tools-toolbar"
>verktygsraden</link
>. 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. </para>
<screenshot>
<screeninfo
>Dataläge</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-datamode.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
<tip>
<para
>Om statusraden inte är synlig, välj <menuchoice
><guimenu
>Inställningar</guimenu
> <guimenuitem
>Visa statusrad</guimenuitem
></menuchoice
>. </para>
</tip>
</sect2>

<sect2 id="data-tools-changedatafile">
<title
>Ändra datafil</title>
<para
>Ett vanligt sätt att använda &kst; är att skapa en <quote
>session</quote
> 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.</para>
<para
>Dialogrutan för att ändra datafil kan kommas åt genom att välja <menuchoice
><guimenu
>Verktyg</guimenu
> <guimenuitem
>Ändra datafil</guimenuitem
></menuchoice
> eller genom att klicka på ikonen <inlinemediaobject
> <imageobject
> <imagedata fileref="Icon-kst-changedatafile.png" format="PNG"/> </imageobject
> <textobject
><phrase
>Ikonen Ändra datafil</phrase
> </textobject
> </inlinemediaobject
> i verktygsraden. Dialogrutan som visas återges nedan: </para>

<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-changedatafile.png" format="PNG"/>
</imageobject>
</inlinemediaobject>
</para>

<para
>För att använda dialogrutan, markera vektorerna som du vill ändra datafil för genom att utnyttja listan i mitten av dialogrutan. <guilabel
>Alla från</guilabel
>, <guilabel
>Rensa</guilabel
>, <guilabel
>Markera alla</guilabel
> och sökfälten hjälper dig att göra det. Användning av jokertecken i sökfälten stöds.</para>
<para
>Välj därefter en ny datafil. Om alternativknappen <guilabel
>Ändra markerade vektorer och matriser</guilabel
> ä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å <guibutton
>Verkställ</guibutton
> eller <guibutton
>Ok</guibutton
>.</para>
<para
>Om alternativknappen <guilabel
>Duplicera markerade vektorer och matriser</guilabel
> är markerat, ritas vektorer som kommer från den nya filen tillsammans med befintliga vektorer på exakt samma sätt. </para>
<para
>Om vissa av de markerade vektorerna har beroenden (kurvor, spektra, histogram, etc.) låter alternativet <guilabel
>Duplicera beroenden</guilabel
> dig också duplicera dessa objekt. </para>
</sect2>

<sect2 id="data-tools-changesampleranges">
<title
>Ändra datasamplingsintervall</title>
<para
>Dialogrutan <guimenuitem
>Ändra datasamplingsintervall</guimenuitem
> kan kommas åt via menyn <guimenu
>Verktyg</guimenu
> eller ikonen <inlinemediaobject
> <imageobject
> <imagedata fileref="Icon-kst-changedatarange.png" format="PNG"/> </imageobject
> <textobject
> <phrase
>Dataintervallsikon</phrase
> </textobject
> </inlinemediaobject
> 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 <guilabel
>Dataintervall</guilabel
> i dokumentationen om <link linkend="data-types-vectors-data"
>Datavektorer</link
>. </para>

<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-changesampleranges.png" format="PNG"/>
</imageobject>
</inlinemediaobject>
</para>
</sect2>

<sect2 id="common-icons">
<title
>Vanliga ikoner</title>
<para
>Som nämns ovan, har de flesta dataverktyg motsvarande ikoner i <link linkend="view-tools-toolbar"
>verktygsraden</link
>. Det finns också några användbara ikoner som vanligen ses i olika dialogrutor. </para>

<variablelist>

<varlistentry>
<term>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Icon-kst-edit-creatvec.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Ikonen Skapa vektor</phrase>
</textobject>
</inlinemediaobject>
</term>
<listitem
><para
>Den här ikonen visar dialogrutan för Ny vektor, vilket är samma sak som att välja <menuchoice
><guilabel
>Data</guilabel
> <guimenuitem
>Ny vektor...</guimenuitem
></menuchoice
> </para
></listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Icon-kst-edit-editvec.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Ikonen Redigera vektor</phrase>
</textobject>
</inlinemediaobject>
</term>
<listitem
><para
>Den här ikonen visar dialogrutan <link linkend="data-types-vectors-data"
>Redigera vektor</link
>, där du kan redigera egenskaperna för vektorn som för närvarande är markerad. </para
></listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Icon-kst-edit-createmx.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Skapa MX</phrase>
</textobject>
</inlinemediaobject>
</term>
<listitem
><para
>Den här ikonen visar dialogrutan för Ny matris, vilket är samma sak som att välja <menuchoice
><guimenu
>Data</guimenu
> <guimenuitem
>Ny matris...</guimenuitem
></menuchoice
> </para
></listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Icon-kst-edit-editmx.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Ikonen Redigera matris</phrase>
</textobject>
</inlinemediaobject>
</term>
<listitem
><para
>Den här ikonen visar dialogrutan <link linkend="data-types-matrix-data"
>Redigera matris</link
>, där du kan redigera egenskaperna för matrisen som för närvarande är markerad. </para
></listitem>
</varlistentry>



<varlistentry>
<term>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Icon-kst-edit-clear.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Ikonen Rensa</phrase>
</textobject>
</inlinemediaobject>
</term>
<listitem>
<para
>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 <link linkend="data-overview-datamanager"
>Datahantering</link
>, <link linkend="data-tool-view-scalar-vlaues"
>Visa skalära värden</link
> och <link linkend="data-tools-changedatafile"
>Ändra datafil</link
>, etc. </para>
<para
>Ikonen används för att snabbt rensa textrutan med <guilabel
>Sökfältet</guilabel
> och återställa originallistan med dataobjekt. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Icon-kst-edit-createscalar.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Ikonen Skapa skalär</phrase>
</textobject>
</inlinemediaobject>

</term>
<listitem
><para
>Ikonen visar dialogrutan för Ny skalär, som visas nedan: <screenshot>
<screeninfo
>Ny skalär</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-newscalar.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Ny skalär</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para
>Här kan du definiera en egen skalär genom att skriva in dess namn och tillhörande värde. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Icon-kst-edit-editscalar.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Ikonen Redigera skalär</phrase>
</textobject>
</inlinemediaobject>
</term>
<listitem
><para
>Ikonen används för att ändra värdet av användardefinierade skalärer. I stort sett visar den samma dialogruta som återges ovan. </para
></listitem>
</varlistentry>

</variablelist>


</sect2>

</sect1>

<sect1 id="data-sources">
<title
>Datakällor</title>
<para
>&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: <itemizedlist
> <listitem
><para
><link linkend="data-sources-ascii"
>ASCII</link
></para
></listitem
> <listitem
><para
><link linkend="data-sources-dirfiles"
>Dirfile</link
></para
></listitem
> <listitem
><para
><link linkend="data-sources-healpix"
>HEALPix</link
></para
></listitem
> <listitem
><para
><link linkend="data-sources-qimage"
>QImage</link
></para
></listitem
> <listitem
><para
><link linkend="data-sources-indirect"
>Indirekt</link
></para
></listitem
> <listitem
><para
><link linkend="data-sources-cdf"
>CDF</link
></para
></listitem
> <listitem
><para
><link linkend="data-sources-netcdf"
>netCDF</link
></para
></listitem
> <listitem
><para
><link linkend="data-sources-lfiio"
>LFIIO</link
></para
></listitem
> <listitem
><para
><link linkend="data-sources-scuba"
>SCUBA</link
></para
></listitem
> </itemizedlist
> Om du har ett dataformat som du vill att &kst; ska kunna läsa, är det enkelt att <link linkend="supportingadditionalfileformats"
>skapa</link
> ditt eget. </para>

<para
>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 <userinput
><command
>kinfocenter</command
></userinput
> 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 <guibutton
>Anslut</guibutton
>. Att klicka på knappen <guibutton
>Anslut</guibutton
> talar om för &kst; att ladda angiven data, och skicka den till en lämplig datakälla. </para>

<anchor id="data-sources-concepts"
></anchor>
<para
>Följande begrepp är viktiga för att förstå hur &kst; arbetar med olika datakällor. Viss terminologi introduceras också i avsnittet. </para>

<variablelist>

<varlistentry>
<term
>Samplingar</term>
<listitem>
<para
>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 <link linkend="data-sources-concepts-frames"
>poster</link
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Fält</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term id="data-sources-concepts-frames"
>Poster</term>
<listitem>
<para
>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. </para>

<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="Diagram-kst-data-framesconcept.png" format="PNG"/>
</imageobject>
</inlinemediaobject>
</para>

<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term id="data-sources-concepts-index"
>INDEX-fält</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>
</variablelist>

<sect2 id="data-sources-ascii">
<title
>ASCII</title>
<para
>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: </para>

<informalexample>
<screen
>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
</screen>
</informalexample>

<screenshot>
<screeninfo
>Datakällor - Anpassa ASCII</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-asciiconfig.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

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

<varlistentry>
<term
>Tolka ... som ...</term>
<listitem>
<para
>Se <link linkend="view-types-plot-interpretas"
>motsvarande avsnitt</link
> om diagramdialogrutan. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Acceptera alltid filer som matchar:</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Data börjar på rad:</term>
<listitem>
<para
>Data innan raden ignoreras. Att ställa in värdet till noll försäkrar att all data kommer att läsas. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Läs fältnamn från rad:</term>
<listitem>
<para
>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 <literal
>1</literal
>). </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Dataformat</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

</variablelist>
</sect2>


<sect2 id="data-sources-dirfiles">
<title
>Dirfile</title>
<para
>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. </para>
<para
>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 <filename
>format</filename
>, där varje fält och dess egenskaper listas. Nedan är ett exempel på en sådan fil: i den här filen anger <quote
>#</quote
> en kommentar, och den första kolumnen för alla fält anger fältets namn. </para>
<informalexample>
<screen
>##### 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

</screen>
</informalexample>
<para
>Följande kodfragment (som dumt nog ignorerar all form av felkontroll) skulle kunna användas för att skapa datakällan ... </para>
<informalexample>
<screen
>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. */

  ......
</screen>
</informalexample>

<para
>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 <filename
>format</filename
> 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. </para>
<para
>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 <filename
>format</filename
>, om den finns, för att ta reda på fälten och deras egenskaper. </para>
</sect2>

<sect2 id="data-sources-healpix">
<title
>Healpix FITS-filer</title>
<para
>Healpix är en metod för bildpunktsuppdelning av en sfär. Mer information finns på <ulink url="http://healpix.jpl.nasa.gov/"
>http://healpix.jpl.nasa.gov/</ulink
>. 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: </para>

<screenshot>
<screeninfo
>Healpix-exempel</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-healpixexample.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

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

<screenshot>
<screeninfo
>Healpix-exempel</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-healpixconfig.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

<variablelist>

<varlistentry>
<term
>Dimensioner</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>ϴ- och Φ-intervall</term>
<listitem>
<para
>Kolatitud- och azimutintervall för data som ska hämtas. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>ϴ- och Φ-intervall</term>
<listitem>
<para
>Kolatitud- och azimutintervall för data som ska hämtas. </para>
</listitem>
</varlistentry>

<!--FIXME: how do the polarization options work? -->
</variablelist>

</sect2>

<sect2 id="data-sources-qimage">
<title
>QImage</title>
<para
>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 <link linkend="view-types-pictures"
>Bild</link
> ett bättre val. Ett exempel på en bild som ritats upp från en matris skapad av QImage visas nedan: </para>
<screenshot>
<screeninfo
>QImage-exempel</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-data-qimageexample.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
</sect2>

<sect2 id="data-sources-indirect">
<title
>Indirekt</title>
<para
>Det här är en <quote
>hjälpdatakälla</quote
>, 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 <quote
>.cur</quote
>, används den indirekta datakällan för att ladda filen som anges. Användningen av den är att innehållet i <quote
>.cur</quote
>-filen kan ändras externt för att ändra datafilen som laddas av &kst;. </para>
</sect2>

<sect2 id="data-sources-cdf">
<title
>CDF</title>
<para
><ulink url="http://cdf.gsfc.nasa.gov/"
>Common Data Format</ulink
> (CDF) utvecklades av NASA. Det beskrivs som <quote
>ett självbeskrivande dataformat för lagring och behandling av skalär och flerdimensionell data på ett plattforms- och områdesoberoende sätt</quote
>. 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. </para>
</sect2>

<sect2 id="data-sources-netcdf">
<title
>netCDF</title>
<para
>Formatet <ulink url="http://www.unidata.ucar.edu/software/netcdf/"
>network Common Data Form</ulink
> (netCDF) utvecklades av <ulink url="http://www.unidata.ucar.edu/"
>Unidata</ulink
>. De beskriver det som: <quote
>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.</quote
> I praktiken liknar det FITS och netCDF <quote
>formaten</quote
>. För att datakällan ska fungera måste netCDF-biblioteken vara installerade. </para>
</sect2>

<sect2 id="data-sources-lfiio">
<title
>LFIIO</title>
<para
>LFIIO-datakällan läser datafiler med FITS-format skapade av LFI-komponenten på satelliten <ulink url="http://www.rssd.esa.int/Planck"
>Planck</ulink
>. 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. </para>
</sect2>

<sect2 id="data-sources-wmap">
<title
>WMAP-läsare</title>
<para
>Datakällan låter dig ladda vektorer från filer med WMAP tidsordnad data (TOD). För mer information, se <ulink url="http://lambda.gsfc.nasa.gov/"
>http://lambda.gsfc.nasa.gov/</ulink
>. För att datakällan ska fungera, måste du ha installerat CFITSIO. </para>
</sect2>

<sect2 id="data-sources-scuba">
<title
>SCUBA-filläsare</title>
<para
>Datakällan låter dig läsa in datafiler skapade av <ulink url="http://www.jach.hawaii.edu/JCMT/continuum/"
>SCUBA</ulink
>, ett instrument på JCMT-teleskopet i Hawaii. </para>
</sect2>


</sect1>
</chapter>


<!-- Keep this comment at the end of the file
Local variables:
mode: xml
sgml-omittag:nil
sgml-shorttag:nil
sgml-namecase-general:nil
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:0
sgml-indent-data:true
sgml-parent-document:("index.docbook" "book" "chapter")
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
