ODIN
Classes | Typedefs | Enumerations
Labeled Data Record (LDR) implementation (odinpara library)

Classes

class  LDRarray< A, J >
 
class  LDRtriple
 
class  LDRcomp
 
struct  ArrayScale
 
struct  PixmapProps
 
struct  GuiProps
 
struct  JcampDxProps
 
class  LDRbase
 
class  LDRblock
 
class  LDRfilter
 
struct  kspace_coord
 
class  LDRnumber< T >
 
class  LDRstring
 
class  LDRbool
 
class  LDRenum
 
class  LDRaction
 
class  LDRfileName
 
class  LDRformula
 

Typedefs

typedef LDRarray< sarray, LDRstringLDRstringArr
 
typedef LDRarray< iarray, LDRintLDRintArr
 
typedef LDRarray< farray, LDRfloatLDRfloatArr
 
typedef LDRarray< darray, LDRdoubleLDRdoubleArr
 
typedef LDRarray< carray, LDRcomplexLDRcomplexArr
 
typedef LDRnumber< int > LDRint
 
typedef LDRnumber< float > LDRfloat
 
typedef LDRnumber< double > LDRdouble
 
typedef LDRnumber< STD_complex > LDRcomplex
 

Enumerations

enum  parameterMode
 
enum  fileMode
 
enum  scaleType
 
enum  parxCodeType
 
enum  funcMode
 

Detailed Description

This page describes the design guidelines of the module Labeled Data Record (LDR) 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:

LDRint mynumber(23,"mynumber"); // Create an integer parameter with initial value 23
mynumber+=42; // LDRint can be used just as a native int for arithmetics
LDRblock 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'
int load(const STD_string &filename, const LDRserBase &serializer=LDRserJDX())
int write(const STD_string &filename, const LDRserBase &serializer=LDRserJDX()) const
List & append(R item)
Definition: tjlist_code.h:82

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

◆ LDRcomplex

typedef LDRnumber<STD_complex> LDRcomplex

Complex number

Definition at line 126 of file ldrnumbers.h.

◆ LDRcomplexArr

A Labeled Data Record (LDR) array of single-precision complex numbers

Definition at line 144 of file ldrarrays.h.

◆ LDRdouble

typedef LDRnumber<double> LDRdouble

An double-precision floating point number

Definition at line 121 of file ldrnumbers.h.

◆ LDRdoubleArr

A Labeled Data Record (LDR) array of double-precision floating point numbers

Definition at line 139 of file ldrarrays.h.

◆ LDRfloat

typedef LDRnumber<float> LDRfloat

An single-precision floating point number

Definition at line 116 of file ldrnumbers.h.

◆ LDRfloatArr

A Labeled Data Record (LDR) array of single-precision floating point numbers

Definition at line 134 of file ldrarrays.h.

◆ LDRint

typedef LDRnumber<int> LDRint

An integer number

Definition at line 111 of file ldrnumbers.h.

◆ LDRintArr

A Labeled Data Record (LDR) array of integer numbers

Definition at line 129 of file ldrarrays.h.

◆ LDRstringArr

A Labeled Data Record (LDR) array of strings

Definition at line 124 of file ldrarrays.h.

Enumeration Type Documentation

◆ fileMode

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 54 of file ldrbase.h.

◆ funcMode

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 ldrfunction.h.

◆ parameterMode

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 44 of file ldrbase.h.

◆ parxCodeType

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 216 of file ldrbase.h.

◆ scaleType

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 91 of file ldrbase.h.