JEMRIS  2.8.2
open-source MRI simulations
Macros | Enumerations | Functions | Variables
Declarations.h File Reference

Implementation of JEMRIS Declarations. More...

#include <string>
#include <algorithm>
+ Include dependency graph for Declarations.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PI   3.141592653589793238462643383279502884197169399375105820974944592
 
#define TWOPI   6.283185307179586476925286766559005768394338798750211641949889185
 

Enumerations

enum  fields {
  XC =0, YC, ZC, M0,
  R1, R2, R2S, DB,
  ID, NO_SPIN_PROPERTIES
}
 
enum  cylinder { RC = 3, RT, RZ }
 
enum  polar { AMPL, PHASE }
 
enum  seqval {
  RF_AMP, RF_PHS, GRAD_X, GRAD_Y,
  GRAD_Z
}
 
enum  PulseAxis {
  AXIS_RF, AXIS_GX, AXIS_GY, AXIS_GZ,
  AXIS_VOID
}
 
enum  SensitivityMethod { UNIFORM, ONE_OVER_R_SQUARE, BIOT_SAVART_LOOP, ONE_OVER_R }
 
enum  mode { RX, TX }
 
enum  MpiTag {
  REQUEST_SPINS =66, SEND_NO_SPINS, SEND_TOTAL_NO_SPINS, SEND_BEGIN_SPIN,
  SEND_SAMPLE, SPINS_PROGRESS, SIG_TP, SIG_MX,
  SIG_MY, SIG_MZ
}
 
enum  IO::Strategy {
  NONE = -1, IO::SIMPLE, IO::HDF5, IO::CDF,
  IO::IOSTRATEGIES
}
 
enum  IO::Status {
  IO::OK, IO::EMPTY_FILE_NAME, IO::FILE_NOT_FOUND, IO::INSUFFICIENT_PRIVILEGES,
  IO::HDF5_FILE_I_EXCEPTION, IO::HDF5_DATASET_I_EXCEPTION, IO::HDF5_DATASPACE_I_EXCEPTION, IO::HDF5_DATATYPE_I_EXCEPTION,
  UNMATCHED_DIMENSIONS, LAST_STATUS_ENTRY
}
 
enum  IO::Mode { IO::IN, IO::OUT, IO::APPEND }
 

Functions

static std::string strtoupper (const std::string &str)
 
static std::string strtolower (const std::string &str)
 
static bool strcompare (const std::string &a, const std::string &b)
 

Variables

const double TIME_ERR_TOL = 2.5e-6
 
const seqval MAX_SEQ_VAL = GRAD_Z
 
static std::string IO::StatusMessage [LAST_STATUS_ENTRY]
 

Detailed Description

Implementation of JEMRIS Declarations.

Enumeration Type Documentation

§ cylinder

enum cylinder

Cylinder coords for position of coil elements

Enumerator
RC 

Radius.

RC

RT 

Heading.

RT

RZ 

Azimuth.

RZ

§ fields

enum fields

number of spin properties: Spin fields

Enumerator
XC 

X location.

YC 

Y location.

ZC 

Z location.

M0 

Equilibrium magnetisation.

R1 

Relaxation rate 1: 1/T1.

R2 

Relaxation rate 2: 1/T2.

R2S 

Relaxation rate 2: 1/T2S.

DB 

Delta B (e.g. chemical-shift + susceptiblity-induced, ...)

ID 

Index of spin.

NO_SPIN_PROPERTIES 

counts number of entries to enum fields. must stay last element, other entries to 'fields' may not be assigned to a value!

§ mode

enum mode

Coil modes

Enumerator
RX 

Receive

TX 

Transmit

§ Mode

enum IO::Mode

Binary io modes

Enumerator
IN 

Read only

OUT 

Write (overwrite)

APPEND 

Write (append)

§ MpiTag

enum MpiTag

MPI tags

§ polar

enum polar

Polar coordinates No need to define the Z component, since identical to ZC.

Enumerator
AMPL 

Amplitude.

PHASE 

Phase.

§ SensitivityMethod

Coil sensitivity methods

Enumerator
UNIFORM 

Uniform idealistic sensitivity map equal 1.

ONE_OVER_R_SQUARE 

Idealistic 1/r^2 snsitivity for each coil.

BIOT_SAVART_LOOP 

Biot-Savart integration for loop.

§ seqval

enum seqval

Order of pulse axis as returned by the sequence.

Enumerator
RF_AMP 

Amplitude.

RF_PHS 

Phase.

GRAD_X 

Readout.

GRAD_Y 

Phase.

GRAD_Z 

Slice.

§ Status

enum IO::Status

Binary io stati

Enumerator
OK 

OK

EMPTY_FILE_NAME 

Error: Empty file name

FILE_NOT_FOUND 

Error: File not found for reading

INSUFFICIENT_PRIVILEGES 

Error: Insufficient privileges or disk full

HDF5_FILE_I_EXCEPTION 

Error: HDF5 general

HDF5_DATASET_I_EXCEPTION 

Error: HDF5 dataset

HDF5_DATASPACE_I_EXCEPTION 

Error: HDF5 dataspace

HDF5_DATATYPE_I_EXCEPTION 

Error: HDF5 datatype

§ Strategy

Binary io strategies

Enumerator
SIMPLE 

limited standard serialised data storage

HDF5 

Hirarchical data format 5

CDF 

Common data format

IOSTRATEGIES 

Leave this as last entry

Variable Documentation

§ StatusMessage

std::string IO::StatusMessage[LAST_STATUS_ENTRY]
static
Initial value:
= {
std::string("IO notice: OK."),
std::string("IO error: Empty file name."),
std::string("IO error: File not found."),
std::string("IO error: Insufficient privileges."),
std::string("IO error: HDF5, general file excption."),
std::string("IO error: HDF5, dataset exception."),
std::string("IO error: HDF5, dataspace exception."),
std::string("IO error: HDF5, datatype exception.")
}

-- last change 24.05.2018 | Tony Stoecker | Imprint | Data Protection --