Difference between revisions of "High Level Functions"

From LIBISIS
Jump to navigation Jump to search
Line 109: Line 109:
  
 
==Interpolate Functions==
 
==Interpolate Functions==
These functions always return '''point''' datasets regardless of point or histogram input. It is analogous to the [[Rebin Functions | rebin]] functions  
+
These functions always return '''point''' datasets regardless of point or histogram input. It can be viewed as the point data equivilent to the [[Rebin Functions | rebin]] functions. A new set of x or y datapoints is given and the data interpolated accross them.
  
 +
<pre>>> wwout = interp_x(ww, xarray, optional)
 +
>> wwout = interp_y(ww, yarray, optional)
 +
>> wwout = interp(ww, xarray, yarray, optional)</pre>
 +
 +
* Input is an [[IXTdataset_2d]] object
 +
* Output is an [[IXTdataset_2d]] object
 +
* wwout.x will be xarray, wwout.y will be yarray
 +
* Signal data will be interpolated accross the new x and y data points
 +
* ''Default'' method uses linear interpretation
 +
* Optional inputs allow control of method
 +
 +
<pre>>> wout = interp(w, xarray, optional)</pre>
 +
 +
* Input is an [[IXTdataset_1d]] object
 +
* Output is an [[IXTdataset_1d]] object
 +
* wout.x will be xarray
 +
* Signal data will be interpolated accross the new x points
 +
* ''Default'' method uses linear interpretation
 +
* Optional inputs allow control of method
 +
 +
=== Optional Inputs===
 +
 +
The following syntaxes may also be used:
 +
 +
<pre>>> wwout = interp(ww, xarray, yarray, Method)
 +
>> wwout = interp(ww, xarray, yarray, Method, Extrapval)</pre>
 +
 +
* '''Method:''' may be 'nearest', 'linear', 'spline', 'cubic'
 +
** 'nearest' - uses nearest neighbour interpolation
 +
** 'linear' - uses  linear interpolation
 +
** 'spline' - uses cubic spline interpolation
 +
** 'cubic' - uses cubic interpolation
 +
* '''Extrapval:''' value given to out of range points (usually NaN or 0)
  
 
==Unspike Functions==
 
==Unspike Functions==
 +
Used to remove spurious spikes from datasets
 +
 +
<pre>>> wwout = unspike(ww, optional)
 +
>> wout = unspike(w, optional)</pre>
 +
 +
* Input is an [[IXTdataset_1d]] or [[IXTdataset_2d]] object
 +
* Output is object of the same type as input
 +
* Removes any spikes in the dataset
 +
* Spikes are replaced with an interpolated value
 +
* Optional inputs may be used to define what constitutes a spike (see Optional Inputs for definition of a spike)
 +
 +
===Optional Inputs===
 +
 +
The following syntaxes may also be used:
 +
 +
<pre>>> wout = unspike(w, smin, smax, fac, sfac)</pre>
 +
 +
* '''smin:''' If signal is < smin then the point is considered a spike (''Default:'' NaN, i.e. ignored)
 +
* '''smax:''' If signal is > smax then the point is considered a spike (''Default:'' NaN, i.e. ignored)
 +
* '''fac:''' If a signal point is within a factor FAC of both of its neighbours then is NOT a spike (''Default:'' 2)
 +
* '''sfac:'' If the difference of a point w.r.t. both of its neighbours is less than SFAC standard deviations then the point is NOT a spike (''Default:'' 5)
 +
  
 
==Fitting Functions==
 
==Fitting Functions==
  
 
==Function Evaluation==
 
==Function Evaluation==

Revision as of 11:41, 18 March 2008

Many powerful high level functions are provided. These manipulate datasets in a complicated manor.

These functions are

>> wwout = deriv1x(ww)
>> wwout = deriv2x(ww)
>> wwout = deriv1y(ww)
>> wwout = deriv2y(ww)
>> wout = deriv1(w)
>> wout = deriv2(w)
>> wout = integrate_x(ww, xmin, xmax)
>> wout = integrate_y(ww, ymin, ymax)
>> dout = integrate_xy(ww, xmin, xmax, ymin, ymax)
>> dout = integrate(w, xmin, xmax)
>> wwout = smooth(ww)
>> wwout = smooth(w)
>> wwout = interp_x(ww, xarray, optional inputs)
>> wwout = interp_y(ww, yarray, optional inputs)
>> wout = interp(ww, xarray, optional inputs)
>> wwout = unspike(ww)
>> wwout = unspike(w)
>> [wwout fitdata] = fit(ww, func, pin, optional)
>> [wout fitdata] = fit(w, func, pin, optional)
>> wwout = func_eval(ww, func, args)
>> wout = func_eval(w, func, args)


Derrivative Functions

First Derivative

These functions take the derivatives of datasets.

>> wwout = deriv1x(ww)
>> wwout = deriv1y(ww)
  • Input is an IXTdataset_2d object
  • Output is an IXTdataset_2d object
  • Calculates first derivative of the dataset in the x and y directions respectively
>> wout = deriv1(w)
  • Input is an IXTdataset_1d object
  • Output is an IXTdataset_1d object
  • Calculates the first derivative of the dataset in the x direction

Second Derivative

These functions take the second derivatives of datasets.

>> wwout = deriv2x(ww)
>> wwout = deriv2y(ww)
  • Input is an IXTdataset_2d object
  • Output is an IXTdataset_2d object
  • Calculates the second derivative of the dataset in the x and y directions respectively
>> wout = deriv2(w)
  • Input is an IXTdataset_1d object
  • Output is an IXTdataset_1d object
  • Calculates the second derivative of the dataset in the x direction.


Integral Functions

These functions integrate a dataset between given limits using the trapezoid method.

>> wwout = integrate_x(ww, xmin, xmax)
>> wout = integrate_y(ww, ymin, ymax)
  • Input is an IXTdataset_2d object
  • Output is an IXTdataset_1d object
  • Integral is evaluated between xmin and xmax in the x direction or ymin and ymax in the y direction
>> dout = integrate_xy(ww, xmin, xmax, ymin, ymax)
  • Input is an IXTdataset_2d object
  • Output is an IXTdatum object
  • Integral is evaluated between xmin and xmax in the x direction and ymin and ymax in the y direction
>> dout = integrate(w, xmin, xmax)
  • Input is an IXTdataset_2d object
  • Output is an IXTdatum object
  • Integral is evaluated between xmin and xmax

Smooth Functions

Smooth functions use an algorithm to smooth the data in a dataset to eliminate fluctuations.

>> wwout = smooth(ww, options)
>> wout = smooth(w, options)
  • Input may be IXTdataset_1d or IXTdataset_2d object
  • Output is the same object type as the input
  • Options allow the user to set the method of smoothing and parameters

Optional Inputs

The following syntaxes may be used

>> wout = smooth (w, filter)
>> wout = smooth (w, filter, size)
>> wout = smooth (w, filter, size, pars)
>> wout = smooth (w, filter, size, pars,'nonorm')
  • filter may be 'box', 'gaussian', or the handle to a function that defines how the smoothing should occur. Default: 'box'
  • size is a vector indicating the size of the convolution kernel. Default: [3,3]
  • pars are arguments required by filter if a function is given
  • 'nonorm' turns off the normalisation in the kernel shell if filter is a user defined function

See the Matlab online help for more information.

Interpolate Functions

These functions always return point datasets regardless of point or histogram input. It can be viewed as the point data equivilent to the rebin functions. A new set of x or y datapoints is given and the data interpolated accross them.

>> wwout = interp_x(ww, xarray, optional)
>> wwout = interp_y(ww, yarray, optional)
>> wwout = interp(ww, xarray, yarray, optional)
  • Input is an IXTdataset_2d object
  • Output is an IXTdataset_2d object
  • wwout.x will be xarray, wwout.y will be yarray
  • Signal data will be interpolated accross the new x and y data points
  • Default method uses linear interpretation
  • Optional inputs allow control of method
>> wout = interp(w, xarray, optional)
  • Input is an IXTdataset_1d object
  • Output is an IXTdataset_1d object
  • wout.x will be xarray
  • Signal data will be interpolated accross the new x points
  • Default method uses linear interpretation
  • Optional inputs allow control of method

Optional Inputs

The following syntaxes may also be used:

>> wwout = interp(ww, xarray, yarray, Method)
>> wwout = interp(ww, xarray, yarray, Method, Extrapval)
  • Method: may be 'nearest', 'linear', 'spline', 'cubic'
    • 'nearest' - uses nearest neighbour interpolation
    • 'linear' - uses linear interpolation
    • 'spline' - uses cubic spline interpolation
    • 'cubic' - uses cubic interpolation
  • Extrapval: value given to out of range points (usually NaN or 0)

Unspike Functions

Used to remove spurious spikes from datasets

>> wwout = unspike(ww, optional)
>> wout = unspike(w, optional)
  • Input is an IXTdataset_1d or IXTdataset_2d object
  • Output is object of the same type as input
  • Removes any spikes in the dataset
  • Spikes are replaced with an interpolated value
  • Optional inputs may be used to define what constitutes a spike (see Optional Inputs for definition of a spike)

Optional Inputs

The following syntaxes may also be used:

>> wout = unspike(w, smin, smax, fac, sfac)
  • smin: If signal is < smin then the point is considered a spike (Default: NaN, i.e. ignored)
  • smax: If signal is > smax then the point is considered a spike (Default: NaN, i.e. ignored)
  • fac: If a signal point is within a factor FAC of both of its neighbours then is NOT a spike (Default: 2)
  • 'sfac: If the difference of a point w.r.t. both of its neighbours is less than SFAC standard deviations then the point is NOT a spike (Default: 5)


Fitting Functions

Function Evaluation