The Kst Handbook
Next

The Kst Handbook

Duncan Hanson

Rick Chern

Philip Rodrigues

Barth Netterfield

Yiwen Mao

Zongyi Zhang

Revision 1.10.0 (2010-11-29)

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Funding of this project was provided in part by the Canadian Space Agency.

Kst is a data plotting and manipulation program with powerful plugin support.


Table of Contents

1. Introduction
What is Kst?
Getting Started
Importing Data
Plot Manipulation
Basic Analysis and the Data Manager
2. Common Tasks
Plotting Simple Graphs
Customizing Plot Settings
Curve Fitting
Generating a Histogram
Creating an Event Monitor
Creating a Power Spectrum
3. Working With Data
Data Objects Overview
The Data Manager
Creating and Deleting Data Objects
Data Types
Vectors
Curves
Equations
Histograms
Spectrum
Spectrogram
Plugins
Event Monitors
Matrix
Images
Vector View
Data Tools
The Data Wizard
The Data Menu
Data View Mode
Change Data File
Change Data Sample Ranges
Common Icons
Datasources
ASCII
Dirfiles
HEALPix FITS files
QImage
Indirect
CDF
netCDF
LFIIO
WMAP Reader
SCUBA File Reader
4. Working with Views
View Objects Overview
View Object Concepts
The View Manager
Context Menus
Switching among Different Modes
View Object Types
Plots
Annotation Objects
Labels
Boxes / Ellipses
Lines / Arrows
Pictures
Using KstScript to manipulate Annotation objects
Zooming and Scrolling
Mouse Zoom Modes
Zoom Mode Context Menu
The Zoom Menu
The Scroll Menu
Tied Zoom
Manipulating Plot Layout
Moving and Resizing View Objects
Layout Mode Context Menu
Selecting Multiple View Objects and Grouping
View Tools
Window Tabs
The Toolbar
Assign Curve Color From File
Differentiate Between Curves
5. Saving and Printing
Saving Sessions
Exporting Vectors
Exporting Plot Images
Printing
6. Settings and Logs
Shortcuts
Global Settings
General
Data Sources
E-Mail
The Debug Dialog
7. Kst Extensions
The ELOG Extension
Server and Logging Settings
Add an ELOG Entry
ELOG Browser
Using the ELOG Class in KstScript
KstScript
Running a KstScript
KstScript Examples
More KstScript Documentation
8. Plugins, Fits, and Filters
Managing Plugins
Built-in Plugins
Overview
Using Built-in Plugins
Fit Plugins
Fit any non-linear function
Fit exponential weighted
Fit exponential
Fit Gaussian weighted
Fit Gaussian
Fit gradient weighted
Fit gradient
Fit linear weighted
Fit linear
Fit Lorentz weighted
Fit Lorentz
Fit polynomial weighted
Fit polynomial
Fit sinusoid weighted
Fit sinusoid
Interpolation Plugins
Interpolation Akima spline
Interpolation Akima spline periodic
Interpolation cubic spline
Interpolation cubic spline periodic
Interpolation linear
Interpolation polynomial
Filter Plugins
Generic Filter
Band-pass filter
Band-stop filter
High-pass filter
Low-pass filter
Despike Filter
Signal Processing Plugins
Autocorrelation
Crosscorrelation
Cross Power Spectrum
Convolution
Deconvolution
Periodogram
Calculus Plugins
Cumulative Sum (integral)
Fixed Step Differentiation
Miscellaneous Plugins
Bin
Binned Map
Chop
Convert time
Noise Addition
Normalization (Standard score)
Phase
Reverse
Shift
Statistics
Syncbin
Using Plugins through KstScript
Overview
Examples
9. Licensing
A. Command Line Usage and Examples
Kst Command Line Synopsis - A plotting and data viewing program
B. Creating Additional Plugins
Creating a Basic Plugin
Default Scalar Values
Creating a Data Object Plugin
Creating a “C” Plugin
The XML File
The Shared Object File
Compiling the Plugin
Creating Linear Fit Plugins
Header Files
Implementing Required Functions
Calling the Fitting Functions
Example
Creating Non-linear Fit Plugins
Header Files and Definitions
Implementing Required Functions
Calling the Fitting Functions
Example
Creating Pass Filter Plugins
Header Files
Required Functions
Calling the Filter Function
Example
C. Supporting Additional File Formats
Creating Datasource Readers
The Shared Object
The .desktop File
Compiling and Copying
D. Working with KstScript
KstScript Classes:
Class: Arrow
Constructors:
Properties:
Class: Axis
Methods:
Properties:
Class: AxisLabel
Properties:
Class: AxisTickLabel
Properties:
Class: BinnedMap
Constructors:
Methods:
Properties:
Class: BorderedViewObject
Properties:
Class: Box
Constructors:
Properties:
Class: Collection
Methods:
Properties:
Class: ColorSequence
Methods:
Class: CrossPowerSpectrum
Methods:
Properties:
Class: Curve
Constructors:
Methods:
Properties:
Class: CurveCollection
Class: DataMatrix
Constructors:
Methods:
Properties:
Class: DataObject
Methods:
Properties:
Class: DataObjectCollection
Class: DataSource
Constructors:
Methods:
Properties:
Class: DataSourceCollection
Class: DataVector
Constructors:
Methods:
Properties:
Class: Debug
Methods:
Properties:
Class: DebugLog
Properties:
Class: DebugLogEntry
Properties:
Class: Dir
Constructors:
Methods:
Properties:
Class: Document
Methods:
Properties:
Class: Ellipse
Constructors:
Properties:
Class: ELOG
Constructors:
Methods:
Properties:
Class: Equation
Constructors:
Properties:
Class: EquationCollection
Class: Extension
Methods:
Properties:
Class: ExtensionCollection
Class: File
Constructors:
Methods:
Properties:
Class: Group
Constructors:
Methods:
Class: Histogram
Constructors:
Methods:
Properties:
Class: HistogramCollection
Class: Image
Constructors:
Methods:
Properties:
Class: Kst
Methods:
Properties:
Class: Label
Constructors:
Methods:
Properties:
Class: Legend
Constructors:
Methods:
Properties:
Class: Line
Constructors:
Properties:
Class: Matrix
Constructors:
Methods:
Properties:
Class: MatrixCollection
Class: Object
Properties:
Class: ObjectCollection
Class: Picture
Constructors:
Methods:
Properties:
Class: Plot
Constructors:
Methods:
Properties:
Class: PlotCollection
Class: PlotLabel
Properties:
Class: Plugin
Constructors:
Methods:
Properties:
Class: PluginCollection
Class: PluginIO
Properties:
Class: PluginIOCollection
Class: PluginManager
Constructors:
Properties:
Class: PluginModule
Properties:
Class: PluginModuleCollection
Class: Point
Constructors:
Properties:
Class: PowerSpectrum
Constructors:
Properties:
Class: PowerSpectrumCollection
Class: Scalar
Constructors:
Properties:
Class: ScalarCollection
Class: Size
Constructors:
Properties:
Class: Spectrogram
Constructors:
Properties:
Class: SpectrogramCollection
Class: String
Constructors:
Properties:
Class: StringCollection
Class: TimeInterpretation
Properties:
Class: Vector
Constructors:
Methods:
Properties:
Class: VectorCollection
Class: VectorView
Constructors:
Properties:
Class: ViewObject
Methods:
Properties:
Class: ViewObjectCollection
Class: Window
Constructors:
Methods:
Properties:
Class: WindowCollection
E. The Kst DCOP Interface
F. Installation
Obtaining Kst
Installing Kst from Source
Requirements
Optional Libraries and Packages
Compiling and Installing
G. Equation Expressions in Kst
Operators
Arithmetic Operators
Logical and Relational Operators
Built-in Functions
Built-in Variables
Built-in Constants

List of Tables

4.1. Date Format in Kst
4.2. LaTeX Commands Supported in Label Text
G.1. Kst Built-in Function
G.2. Kst Built-in Variables
G.3. Kst Built-in Constants

List of Examples

3.1. Example of Using KstScript to Construct a Static Vector
3.2. Example of Using KstScript to Load a Vector from Source Files
3.3. Example of Using KstScript to plot a curve
3.4. Example of Using the Equation Class
3.5. Example of Constructing a Histogram through KstScript
3.6. Example of Using PowerSpectrum Class
3.7. Example of Using the Spectrogram Class
3.8. Example of Using the DataMatrix Class in KstScript
3.9. Example of Using the Matrix Class to construct a Static Matrix
4.1. Example of Using the Plot Class to interpret date format for x Axis
4.2. Function for Creating and Resizing Annotation Objects
7.1. Adding an ELOG entry through KstScript
8.1. KstScript of Statistics Plugin
8.2. KstScript Function of Using Interpolation Plugins
Next
 


Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team