JEMRIS 2.9.1
open-source MRI simulations
Loading...
Searching...
No Matches
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 03.10.2023 | Tony Stoecker | Imprint | Data Protection --