IXTdataset 2d

Jump to: navigation, search

An IXTdataset_2d is an object that stores signal and error data against two independent dimensions (the x and y axes). Title and label information is also stored. These are used for manipulating and visualising a single spectrum.

Two dimensional plotting can be used to visualise the data and many functions exist to manipulate it given in the user manual


IXTdataset_2d objects contain the following fields

Field Type Description
base IXTbase Object required for internal use
title char(allocatable) Title of the dataset used in plotting
signal real(ptr) Signal data
error real(ptr) Standard error
s_axis IXTaxis object containing the signal axis label and units code information
x real(ptr) First independent variable data (i.e. x data). If point data this will be the point positions in the x axis. If histogram data, this will be the bin boundaries in the x axis
x_axis IXTaxis object containing the x axis label and units code information
x_distribution logical True if signal is a distribution on x (e.g. counts/microsecond) False if signal is not a distribution on x (e.g. counts)
y real(ptr) Second independent variable data (i.e. y data). If point data this will be the point positions in the y axis. If histogram data, this will be the bin boundaries in the y axis
y_axis IXTaxis object containing the y axis label and units code information
y_distribution logical True if signal is a distribution on y (e.g. counts/spectrum) False if signal is not a distribution on y (e.g. counts)

Constructing an IXTdataset_2d Object

The constructor for an IXTdataset_2d can be used to create a full IXTdataset_2d object using the following syntax

>> ww = IXTdataset_2d(base, 'title', [signal], [error], s_axis,...
[x], x_axis, [x_distribution], [y], y_axis, y_distribution )
  • Size(signal,1), size(error,1), Length(x) must all be equal
  • Size(signal,2), size(error,2), Length(y) must all be equal
  • x and y must be one dimensional arrays
  • Signal and error must be two dimensional arrays of size (length(x), length(y))
  • s_axis, x_axis and y_axis must be properly constructed IXTaxis objects
  • x_distribution and y_distribution must be a logical value (1 or 0, TRUE or FALSE)
  • base must be a properly constructed IXTbase object

Datasets without title and label information may be constructed using the syntax

>> ww = IXTdataset_2d(x, y, signal, error)
  • signal and error may be omitted. If so, w.signal and/or w.error will contain an array of 0's matching the dimensions of the x data
  • Title, s_axis, x_axis and y_axis will contain blank objects
  • x_distribution and y_distribution will be FALSE

datasets can also be made using commands found in input and output functions

Changing Values in an IXTdataset_2d object

The fields in the object are accessible on the matlab command line. Therefore the values of the fields can be changed easily, for instance

>> ww.title = 'mytitle'

will set the title in w to 'mytitle'


Two Identical Scripts to Construct an IXTdataset_2d From a Function

Here, assume that a function my_func is some unusual function of the form

function z = my_polynom2D(x, y, pin)

z = pin(1).*x.^6 + pin(2).*y.*sin(x) + pin(3).*x

The function

x = 1:300

y = 1:2:60

[xm, ym] = ndgrid(y, x)

z = my_polynom2D(xm, ym, [2, 3, 2]) % generate z values

title = 'my unusual function'

xaxis = IXTaxis('x')

yaxis = IXTaxis('y')

zaxis = IXTaxis('z')

e = zeros(size(z))  % need error values for full construction

w = IXTdataset_2d(IXTbase, title, z, e, zaxis, x, xaxis, false, y, yaxis, false)

dl(w)  % plot the data

gives the same results as the function

x = 1:300

y = 1:2:60

w = IXTdataset_2d(x, y)  % create dataset with blank signal and e values

w.title = 'my unusual function'

w.x_axis = IXTaxis('x')

w.y_axis = IXTaxis('y')

w.s_axis = IXTaxis('z')

w = func_eval(w,@my_polynom2D, [2 3 2])


F90 syntax

use IXMdataset_2d

type(IXTdataset_2d):: data2d
type(IXTstatus):: status

Fortran Operations

The following operations may be performed on this data type:

Class Specific Operations

rebinning operations

rebunching operations

regrouping operations

integration operations

numerical derivatives