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

Data Structures

struct  KSGRE_SEQUENCE
 

Macros

#define KSGRE_MINHNOVER   16
 
#define KSGRE_DEFAULT_SSI_TIME   200 /* which may allow us to use the same SSI for other sequence modules too */
 
#define KSGRE_DEFAULT_SSI_TIME_SSFP   100
 
#define KSGRE_INIT_SEQUENCE
 

Functions

 abstract ("GRE [KSFoundation]")
 
 psdname ("ksgre")
 
STATUS ksgre_pg (int start_time)
 
int ksgre_scan_coreslice (const SCAN_INFO *slice_pos, int dabslice, int shot, int exc)
 
int ksgre_scan_coreslice_nargs (const SCAN_INFO *slice_pos, int dabslice, int nargs, void **args)
 
int ksgre_scan_sliceloop (int slperpass, int passindx, int shot, int exc)
 
int ksgre_scan_sliceloop_nargs (int slperpass, int nargs, void **args)
 
float ksgre_scan_acqloop (int passindx)
 
float ksgre_scan_scanloop ()
 
int ksgre_eval_ssitime ()
 
STATUS ksgre_scan_seqstate (SCAN_INFO slice_info, int shot)
 
void ksgre_init_imagingoptions (void)
 
STATUS ksgre_init_UI (void)
 
STATUS ksgre_eval_UI ()
 
STATUS ksgre_eval_setupobjects ()
 
STATUS ksgre_eval_TErange ()
 
STATUS ksgre_eval_inversion (KS_SEQ_COLLECTION *seqcollection)
 
STATUS ksgre_eval_tr (KS_SEQ_COLLECTION *seqcollection)
 
STATUS ksgre_eval_scantime ()
 
STATUS ksgre_check ()
 
STATUS ksgre_predownload_plot (KS_SEQ_COLLECTION *seqcollection)
 
STATUS ksgre_predownload_setrecon ()
 
float ksgre_scan_phase (int counter)
 
STATUS ksgre_scan_init (void)
 
STATUS ksgre_scan_prescanloop (int nloops, int dda)
 

Variables

float ksgre_excthickness = 0
 
float ksgre_gscalerfexc = 0.9
 
int ksgre_slicecheck = 0 with {0, 1, 0, VIS, "move readout to z axis for slice thickness test",}
 
float ksgre_spoilerarea = 1500.0 with {0.0, 10000.0, 1500.0, VIS, "ksgre spoiler gradient area",}
 
int ksgre_sincrf = 0 with {0, 1, 0, VIS, "Use Sinc RF",}
 
float ksgre_sincrf_bw = 2500 with {0, 100000, 2500, VIS, "Sinc RF BW",}
 
float ksgre_sincrf_tbw = 2 with {2, 100, 2, VIS, "Sinc RF TBW",}
 
int ksgre_rfexc_choice = 0 with {0, 3, 0, VIS, "RF pulse 0(fast)-1-2(high FA) 3 (Hard non-sel)",}
 
int ksgre_kxnover = 32 with {KSGRE_MINHNOVER, 512, 32, VIS, "Num kx overscans for minTE",}
 
int ksgre_rampsampling = FALSE with {FALSE, TRUE, FALSE, VIS, "Rampsampling [0:OFF 1:ON]",}
 
int ksgre_extragap = 0 with {0, 100ms, 0, VIS, "extra gap between readouts [us]",}
 
int ksgre_minacslines = 8 with {0, 512, 8, VIS, "Minimum ACS lines for ARC",}
 
int ksgre_minzacslines = 8 with {0, 512, 8, VIS, "Minimum z ACS lines for ARC",}
 
int ksgre_pos_start = KS_RFSSP_PRETIME with {0, , KS_RFSSP_PRETIME, VIS, "us from start until the first waveform begins",}
 
int ksgre_ssi_time = KSGRE_DEFAULT_SSI_TIME with {32, , KSGRE_DEFAULT_SSI_TIME, VIS, "time from eos to ssi in intern trig",}
 
int ksgre_dda = 2 with {0, 200, 2, VIS, "Number of dummy scans for steady state",}
 
int ksgre_debug = 1 with {0, 100, 1, VIS, "Write out e.g. plot files (unless scan on HW)",}
 
int ksgre_imsize = KS_IMSIZE_MIN256 with {KS_IMSIZE_NATIVE, KS_IMSIZE_MIN256, KS_IMSIZE_MIN256, VIS, "img. upsamp. [0:native 1:pow2 2:min256]"}
 
int ksgre_abort_on_kserror = FALSE with {0, 1, 0, VIS, "Hard program abort on ks_error [0:OFF 1:ON]",}
 
int ksgre_ellipsekspace = TRUE with {FALSE, TRUE, TRUE, VIS, "ky-kz coverage 0:Rect 1:Elliptical",}
 
float ksgre_fattune = 0
 
KSGRE_SEQUENCE ksgre = KSGRE_INIT_SEQUENCE
 
int ksgre_ssfp_endtime = 0
 
int sequence_iopts []
 
int volindx
 
int passindx
 
int fiesta_firstplayout = 1
 
int spgr_phase_counter = 0
 

Detailed Description

This file contains the implementation details for the ksgre psd.