JCAMP-DX implementation (odinpara library)


Classes

class  JDXarray< A, J >
class  JDXtriple
class  JcampDx
struct  ArrayScale
struct  PixmapProps
struct  GuiProps
struct  ParxEquiv
class  JcampDxClass
class  JcampDxBlock
class  JDXfilter
struct  kspace_coord
class  JDXnumber< T >
class  JDXstring
class  JDXbool
class  JDXenum
class  JDXaction
class  JDXfileName
class  JDXformula

Typedefs

typedef JDXarray< sarray,
JDXstring
JDXstringArr
typedef JDXarray< iarray, JDXintJDXintArr
typedef JDXarray< farray,
JDXfloat
JDXfloatArr
typedef JDXarray< darray,
JDXdouble
JDXdoubleArr
typedef JDXarray< carray,
JDXcomplex
JDXcomplexArr
typedef JDXnumber< int > JDXint
typedef JDXnumber< float > JDXfloat
typedef JDXnumber< double > JDXdouble
typedef JDXnumber< STD_complex > JDXcomplex

Enumerations

enum  compatMode
enum  parameterMode
enum  fileMode
enum  scaleType
enum  parxCodeType
enum  funcMode

Detailed Description

This page describes the design guidelines of the module JCAMP-DX implementation (odinpara library)

The following framework can be used to deal with single parameters of different type (int,float,string,...) and multidimensional arrays that are build from these base types. It is possible to build blocks of parameter, i.e. parameter lists, that can be written/loaded to/from disk in an easily editable ASCII format. The file format is designed roughly according to the JCAMP-DX [1,2] standard, but its main aim was to be compatible with the PARX[3] file format.

A very simple examples on how to use this module:


      JDXint mynumber(23,"mynumber");  // Create an integer parameter with initial value 23

      mynumber+=42;                    // JDXint can be used just as a native int for arithmetics

      JcampDxBlock block;              // A block (list) of parameters

      block.append(mynumber);          // Append the parameter to the block

      block.write("block.jdx");        // Write block and its parameters to file 'block.jdx'

      block.load("block.jdx");         // Load block and its parameters from file 'block.jdx'

      
Please see the class documention for a complete reference.

References:

  1. JCAMP-DX: A Standard Form of Exchange of Infrared Spectra in Computer Readable Form, McDONALD, R.S., WILKS, P.A., Apllied Spectroscopy, Vol.42, No.1, 1988
  2. JCAMP-DX for NMR, DAVIES, A.N., LAMPEN, P., Apllied Spectroscopy, Vol.47, No.8, 1993
  3. PARX is a preprocessor/compiler framework to interactively modify parameters that can also be embedded into C-code. It is part of the Bruker software 'Paravision' that serves as an user interface for their medical MR-scanners.

Author:
Thies H. Jochimsen

Typedef Documentation

typedef JDXnumber<STD_complex> JDXcomplex

Complex number

Definition at line 137 of file jdxnumbers.h.

A JCAMP-DX array of single-precision complex numbers

Definition at line 156 of file jdxarrays.h.

typedef JDXnumber<double> JDXdouble

An double-precision floating point number

Definition at line 132 of file jdxnumbers.h.

A JCAMP-DX array of double-precision floating point numbers

Definition at line 151 of file jdxarrays.h.

typedef JDXnumber<float> JDXfloat

An single-precision floating point number

Definition at line 127 of file jdxnumbers.h.

A JCAMP-DX array of single-precision floating point numbers

Definition at line 146 of file jdxarrays.h.

typedef JDXnumber<int> JDXint

An integer number

Definition at line 122 of file jdxnumbers.h.

A JCAMP-DX array of integer numbers

Definition at line 141 of file jdxarrays.h.

A JCAMP-DX array of strings

Definition at line 136 of file jdxarrays.h.


Enumeration Type Documentation

enum compatMode

This enum performs some fine tuning with the JcampDx classes according its value:

  • bruker: Strings are treated as arrays of characters (size after '=' and contents on next line). Used to be compatible with Brukers JCAMP-DX implementation.
  • notBroken: Strings are written directly into the file (after '=').

Definition at line 47 of file jdxbase.h.

enum fileMode

This enum determines whether the parameter will be included/compressed/excluded when reading/writing a file

  • include: Parameter is included in the file
  • compressed: Parameter is included in the file in compressed ASCII-format (e.g. Base64 encoding) if its representation exceeds a certain size
  • exclude: Parameter is excluded from the file

Definition at line 66 of file jdxbase.h.

enum funcMode

Dimension Mode Enum:

  • zeroDeeMode : Only RF waveform will be calculated
  • oneDeeMode : RF and gradient shape will be calculated according to the selected shape/trajectory for 1D pulses
  • twoDeeMode : RF and gradient shape will be calculated according to the selected shape/trajectory for 2D pulses

Definition at line 39 of file jdxfunction.h.

This enum determines whether the parameter can be seen/edited in the graphical user interface

  • edit: Parameter is visible and can be edited
  • noedit: Parameter is visible but cannot be edited
  • hidden: Parameter is invisible

Definition at line 56 of file jdxbase.h.

Enum for PARX code generation:

  • parx_def: Parameter definitions
  • parx_passval: Parameter assignment
  • parx_passval_head: Function head for parameter assignment
  • parx_parclass_def: Definition of parameter class
  • parx_parclass_init: Initialization of parameter class
  • parx_parclass_passval: Assignment of parameter class

Definition at line 222 of file jdxbase.h.

enum scaleType

Enum for plot/display scales/axes in the GUI

  • displayScale: Scale for 2D/3D display
  • xPlotScale: x-axis (bottom)
  • yPlotScaleLeft: First y-axis (left)
  • yPlotScaleRight: Second y-axis (left)

Definition at line 103 of file jdxbase.h.


Generated on Wed Sep 30 15:33:04 2009 by  doxygen 1.5.6