KSFoundation  [April-2021]
A platform for simpler EPIC programming on GE MR systems
KSSpSat.e File Reference

Data Structures

struct  KSSPSAT_VOLBORDER
 
struct  KSSPSAT_LOC
 
struct  KSSPSAT_PARAMS
 
struct  KSSPSAT_SEQUENCE
 

Macros

#define KSSPSAT_MODULE_LOADED   /* can be used to check whether the KSSpsat module has been included in a main psd */
 
#define KSSPSAT_DEFAULT_FLIP   95
 
#define KSSPSAT_DEFAULT_SPOILERSCALE   5.0
 
#define KSSPSAT_DEFAULT_SPOILALLAXES   1
 
#define KSSPSAT_DEFAULT_SSITIME   1000 /* try to reduce this value */
 
#define KSSPSAT_EXPLICITSAT_DISABLED   9990.0 /* Set by UI on MR-scanner */
 
#define KSSPSAT_IMPLICITSAT_DISABLED   9999.0 /* Set by UI on MR-scanner */
 
#define KSSPSAT_INIT_VOLBORDER   {0.0, 0.0, 0.0, 0.0, 0.0, 0.0}
 
#define KSSPSAT_INIT_LOC   {DEFAULT_AXIAL_SCAN_INFO, 0, KS_NOTSET, KSSPSAT_OFF}
 
#define KSSPSAT_INIT_PARAMS   {KSSPSAT_INIT_VOLBORDER, KSSPSAT_DEFAULT_FLIP, KSSPSAT_RF_COMPLEX, KSSPSAT_DEFAULT_SPOILERSCALE, KSSPSAT_DEFAULT_SPOILALLAXES, PSD_OBL_RESTRICT, KSSPSAT_DEFAULT_SSITIME}
 
#define KSSPSAT_INIT_SEQUENCE   {{0,0,NULL,sizeof(KSSPSAT_SEQUENCE)}, KS_INIT_SEQ_CONTROL, KSSPSAT_INIT_LOC, KS_INIT_SELRF}
 

Enumerations

enum  { KSSPSAT_OFF, KSSPSAT_IMPLICIT, KSSPSAT_EXPLICIT }
 
enum  {
  KSSPSAT_1, KSSPSAT_2, KSSPSAT_3, KSSPSAT_4,
  KSSPSAT_5, KSSPSAT_6, KSSPSAT_MAXNUMSAT
}
 
enum  { KSSPSAT_NEG =1, KSSPSAT_POS, KSSPSAT_HAD, KSSPSAT_PARA }
 
enum  { KSSPSAT_RF_STD, KSSPSAT_RF_COMPLEX, KSSPSAT_RF_MAXRFTYPES }
 

Functions

int ksspsat_pg (KSSPSAT_SEQUENCE *ksspsat)
 
void ksspsat_scan_seqstate (KSSPSAT_SEQUENCE *ksspsat, float rfphase)
 
void ksspsat_init_params (KSSPSAT_PARAMS *params)
 
void ksspsat_init_sequence (KSSPSAT_SEQUENCE *ksspsat)
 
void ksspsat_eval_copycvs (KSSPSAT_PARAMS *params)
 
int ksspsat_eval_numsats (KSSPSAT_SEQUENCE *ksspsat)
 
STATUS ksspsat_eval_volborder (KSSPSAT_VOLBORDER *v)
 
STATUS ksspsat_eval_satplacements_from_UI (KSSPSAT_SEQUENCE *ksspsat, KSSPSAT_PARAMS *params)
 
STATUS ksspsat_eval_satplacements_dump (KSSPSAT_SEQUENCE *ksspsat, KSSPSAT_PARAMS *params)
 
STATUS ksspsat_eval_loggrd (LOG_GRAD *satloggrd, SCAN_INFO *slice_info, int satoblmethod)
 
STATUS ksspsat_eval_setupobjects ()
 
STATUS ksspsat_eval (KS_SEQ_COLLECTION *seqcollection)
 
STATUS ksspsat_pulsegen ()
 
int ksspsat_scan_playsequences (int perform_slicetimeplot)
 

Variables

KSSPSAT_SEQUENCE ksspsat [KSSPSAT_MAXNUMSAT] = {KSSPSAT_INIT_SEQUENCE}
 
KSSPSAT_PARAMS ksspsat_params = KSSPSAT_INIT_PARAMS
 
int ksspsat_flag = KSSPSAT_OFF with {KSSPSAT_OFF, KSSPSAT_EXPLICIT, KSSPSAT_OFF, VIS, "flag for ksspsat (0:Off 1:Implicit 2:Explicit)",}
 
float ksspsat_flip = KSSPSAT_DEFAULT_FLIP with {0, 360, KSSPSAT_DEFAULT_FLIP, VIS, "RF flip angle [deg]",}
 
int ksspsat_rftype = KSSPSAT_RF_COMPLEX with {KSSPSAT_RF_STD, KSSPSAT_RF_COMPLEX, KSSPSAT_RF_COMPLEX, VIS, "0: SLR Sat 1: Complex Sat",}
 
float ksspsat_spoilerscale = KSSPSAT_DEFAULT_SPOILERSCALE with {0.0, 20.0, KSSPSAT_DEFAULT_SPOILERSCALE, VIS, "scaling of spoiler gradient area",}
 
int ksspsat_spoilallaxes = KSSPSAT_DEFAULT_SPOILALLAXES with {0, 1, KSSPSAT_DEFAULT_SPOILALLAXES, VIS, "apply spoiler on all axes",}
 
int ksspsat_ssi_time = KSSPSAT_DEFAULT_SSITIME with {10, 20000, KSSPSAT_DEFAULT_SSITIME, VIS, "Time from eos to ssi in intern trig",}
 
int ksspsat_debug = 0 with {0, 1, 0, VIS, "KSSpSat debug flag",}
 
int ksspsat_oblmethod = PSD_OBL_RESTRICT with {PSD_OBL_RESTRICT, PSD_OBL_OPTIMAL, PSD_OBL_RESTRICT, VIS, "obl. grad optimization for sat",}
 

Detailed Description

This file contains Spatial Sat and should be @inline'd at the beginning of a KSFoundation PSD.