KSFoundation  [October2024]
A platform for structured EPIC programming on GE MR systems
ksdesign.h File Reference
#include <KSFoundation.h>

Data Structures

struct  KS_SELRF_DESIGN
 
struct  KS_KSPACE_DESIGN
 
struct  KS_READWAVE_DESIGN
 
struct  KS_ECHOTRAIN_DESIGN
 

Macros

#define KS_INIT_SELRF_EXCDESIGN   {KS_INIT_DESC, KS_NOTSET, 90, 0.9, 1.0, 0, 0, 0.0, 0.0, EXC_2D, 1, 0.0, KS_SELRF_SMS_PHAS_MOD_PHAS, NULL, NULL}
 
#define KS_INIT_SELRF_REFDESIGN   {KS_INIT_DESC, KS_NOTSET, 180, 0.9, 1.0, 2.0, 1, 0.0, 0.0, REF_2D, 1, 0.0, KS_SELRF_SMS_PHAS_MOD_PHAS, NULL, NULL}
 
#define KS_INIT_SELRF_INVDESIGN   {KS_INIT_DESC, KS_NOTSET, 180, 0.9, 1.0, 0, 0, 0.0, 0.0, INV_STD, 1, 0.0, KS_SELRF_SMS_PHAS_MOD_PHAS, NULL, NULL}
 
#define KS_SPACE_DESIGN_VERSION   1
 
#define KS_INIT_KSPACE_2D_DESIGN   {KS_SPACE_DESIGN_VERSION, KS_INIT_DESC, {240,240,KS_NOTSET}, {320,320,KS_NOTSET}, 0, {0,0,0}, {1,1,1}, 1, 0, {KS_NOTSET,0,0}, {KS_NOTSET,0,0}, KSPACE_DESIGN_COMPRESSED_BAM_OFF, 31.25, KS_EPI_POSBLIPS, 0, 0, 1}
 
#define KS_INIT_KSPACE_3D_DESIGN   {KS_SPACE_DESIGN_VERSION, KS_INIT_DESC, {240,240,160}, {240,240,160}, 0, {0,0,0}, {1,1,1}, 1, 0, {KS_NOTSET,0,0}, {KS_NOTSET,0,0}, KSPACE_DESIGN_COMPRESSED_BAM_OFF, 62.5, KS_EPI_POSBLIPS, 0, 0, 1}
 
#define KS_INIT_KSPACE_EPI_DESIGN   {KS_SPACE_DESIGN_VERSION, KS_INIT_DESC, {240,240,KS_NOTSET}, {180,180,KS_NOTSET}, 1, {0,0,0}, {1,2,1}, 1, 0, {KS_NOTSET,0,0}, {KS_NOTSET,0,0}, KSPACE_DESIGN_COMPRESSED_BAM_OFF, 250.0, KS_EPI_POSBLIPS, 0, 0, 1}
 
#define KS_INIT_READWAVE_DESIGN   {NULL, 0, 1, 0.0, KS_NOTSET, KS_INIT_CRUSHER_CONSTRAINT, KS_INIT_CRUSHER_CONSTRAINT}
 
#define KS_INIT_ECHOTRAIN_DESIGN   {KS_INITVALUE(KS_MAXUNIQUE_READ,KS_INIT_READ_CONTROL), {KS_INIT_READWAVE_DESIGN}, 0}
 

Enumerations

enum  RFEXC_SELECTION {
  EXC_2D, EXC_FAST_2D, EXC_3D, EXC_FAST_3D,
  EXC_SPSP, EXC_SPSP_3D, EXC_FAST_SPSP_3D, EXC_HARD,
  EXC_HARD_LOWFAT, EXC_BINO_2, EXC_LOWSAR, EXC_CUSTOM
}
 
enum  RFREF_SELECTION {
  REF_SHARP_2D, REF_2D_FIRST, REF_2D, REF_FAST_2D,
  REF_EXTREM_FAST_2D, REF_HARD, REF_LOWSAR, REF_CUSTOM
}
 
enum  RFINV_SELECTION { INV_STD, INV_ADIABATIC, INV_LOWSAR, INV_CUSTOM }
 
enum  KSPACE_DESIGN_COMPRESSED_BAM_MODE { KSPACE_DESIGN_COMPRESSED_BAM_OFF, KSPACE_DESIGN_COMPRESSED_BAM_ON }
 
enum  KS_MULTISHOT_MODE { KS_MULTISHOT_OFF, KS_MULTISHOT_ALLVOLS, KS_MULTISHOT_1STVOL, KS_MULTISHOT_B0VOLS }
 

Functions

STATUS ks_init_design_kdesign (KS_KSPACE_DESIGN *kdesign)
 
void ks_init_design_readwave (KS_READWAVE_DESIGN *readwave_design)
 
STATUS ks_init_design_selrfexc (KS_SELRF_DESIGN *excdesign)
 
STATUS ks_init_design_selrfref (KS_SELRF_DESIGN *refdesign)
 
STATUS ks_init_design_selrfinv (KS_SELRF_DESIGN *invdesign)
 
STATUS ks_eval_validate_kspacedesign (const KS_KSPACE_DESIGN *kdesign, const char *desc)
 
STATUS ks_eval_design_readtrap (KS_READTRAP *trap, const KS_KSPACE_DESIGN *kdesign, const float crusher_area, const char *desc)
 
STATUS ks_eval_design_readwave (KS_READWAVE *readwave, const KS_READWAVE_DESIGN *design, const KS_KSPACE_DESIGN *kdesign, const char *desc)
 
STATUS ks_eval_design_echotrain (KS_ECHOTRAIN *echotrain, const KS_ECHOTRAIN_DESIGN *design, const KS_KSPACE_DESIGN *kdesign, const char *desc)
 
STATUS ks_eval_design_selrfexc (KS_SELRF *selrfexc, const KS_SELRF_DESIGN excdesign)
 
STATUS ks_eval_design_selrfref (KS_SELRF *selrfref, const KS_SELRF_DESIGN refdesign)
 
STATUS ks_eval_design_selrfinv (KS_SELRF *selrfinv, const KS_SELRF_DESIGN invdesign)
 
void ks_print_kdesign (const KS_KSPACE_DESIGN *const kdesign, const char *suffix, int rhkacq_uid)
 

Detailed Description

This file contains sequence-independent definitions for RF and slicetiming