Difference between revisions of "IXTdataset 2d"

From LIBISIS
Jump to navigation Jump to search
m
m
Line 10: Line 10:
  
  
{|{{Tablestyle}}
+
{|
 +
{{Tablestyle}}
 
|-
 
|-
 
| Field
 
| Field
Line 16: Line 17:
 
| Description
 
| Description
 
|-
 
|-
 +
{{Tablestyle}}
 
|'''base'''
 
|'''base'''
 
| [[IXTbase]]
 
| [[IXTbase]]
 
| Object required for internal use  
 
| Object required for internal use  
|-
+
|-{{Tablestyle}}
 
|'''title'''
 
|'''title'''
 
| char
 
| char

Revision as of 12:57, 2 April 2008

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


Fields

IXTdataset_2d objects contain the following fields


align="center" width="90%" border="1" cellspacing="2" cellpadding="2" style="margin: 5px; border:2px blue solid; border-collapse: collapse; background-color: #EEEEEE; vertical-align:top; padding:2px" align="center" width="90%" border="1" cellspacing="2" cellpadding="2" style="margin: 5px; border:2px blue solid; border-collapse: collapse; background-color: #EEEEEE; vertical-align:top; padding:2px"
Field Type Description
base IXTbase Object required for internal use
title char 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'


Examples

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_polynom(x, y, pin)

[x, y] = meshgrid(x, y)

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


The function


x = 1:300

y = 1:2:60

z = my_func(x, y, [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, yaxis, x, xaxis, false, y, yaxis, false)

dl(w) % plot the data


gives the same results as


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, [2 3 2])

dl(w)