|
#define | KSINV_DEFAULT_FLIP 180 |
|
#define | KSINV_DEFAULT_SPOILERAREA 5000 |
|
#define | KSINV_MINTR_T2FLAIR 8000000 |
|
#define | KSINV_MINTR_T1FLAIR 1400000 |
|
#define | KSINV_MAXTR_T1FLAIR 2800000 |
|
#define | T1_CSF_3T 4400000 |
|
#define | T1_CSF_1_5T 3600000 |
|
#define | T1_GM_3T 1400000 |
|
#define | T1_GM_1_5T 1100000 |
|
#define | T1_WM_3T 750000 |
|
#define | T1_WM_1_5T 600000 |
|
#define | T1_FAT_3T 340000 |
|
#define | T1_FAT_1_5T 260000 |
|
#define | KSINV_SPOILX 1 |
|
#define | KSINV_SPOILY 2 |
|
#define | KSINV_SPOILZ 4 |
|
#define | KSINV_INIT_DESIGN {"inversion", KS_INIT_SELRF_INVDESIGN, 0, KSINV_GSCALE_NONOVERLAP, 1000.0, KSINV_SPOILX + KSINV_SPOILY + KSINV_SPOILZ, 0, KS_DEFAULT_SSI_TIME} |
|
#define | KSINV_INIT_MODULE {KS_INIT_SEQ_CONTROL, KS_INIT_SELRF, KS_INIT_TRAP, KSINV_SPOILX + KSINV_SPOILY + KSINV_SPOILZ, 0} |
|
#define | KSINV_INIT_LOOP_CONTROL_DESIGN {KSINV_OFF, KS_NOTSET, KS_NOTSET, FALSE, KS_DEFAULT_SSI_TIME, KSSCAN_INIT_LOOP_CONTROL_DESIGN} |
|
#define | KSINV_INIT_LOOP_CONTROL {KSINV_OFF, KS_NOTSET, KS_NOTSET, KS_NOTSET, KS_NOTSET, KS_NOTSET, 0, KSSCAN_INIT_LOOP_CONTROL, KS_INIT_SEQ_CONTROL} |
|
#define | KSINV_MULTI_INV_MAX_NUM_VOLS 16 |
|
#define | KSINV_INIT_CHAIN_DESIGN {0, {0}, {KS_INIT_PHASEENCODING_PLAN_DESIGN}, {0}} |
|
#define | KSINV_INIT_CHAIN {0, {{0, KS_INIT_PHASEENCODING_PLAN, 0, 0}}} |
|
|
void | ksinv_init_loopcontrol (KSINV_LOOP_CONTROL *loop_control) |
|
void | ksinv_init_design (KSINV_DESIGN *design, const char *desc) |
|
void | ksinv_init_sequence (KSINV_MODULE *seq) |
|
STATUS | ksinv_eval_validatedesign (KSINV_DESIGN *design) |
|
STATUS | ksinv_eval_setupobjects (KSINV_MODULE *seq, const KSINV_DESIGN *design) |
|
STATUS | ksinv_pg (KSINV_MODULE *seq) |
|
STATUS | ksinv_scan_seqstate (KSINV_MODULE *seq, const SCAN_INFO *slice_pos) |
|
KS_CORESLICETIME | ksinv_scan_irslice (KSINV_MODULE *seq, const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic) |
|
float | ksinv_eval_gscale (float slice_thickness, float slice_spacing, int numacqs, KSINV_GSCALE_POLICY gscale_policy) |
|
STATUS | ksinv_eval_design (KSINV_MODULE *invseq, KSINV_DESIGN *invseq_design, int npasses, KS_SEQ_COLLECTION *seqcollection) |
|
STATUS | ksinv_loop_control_eval_design (KSINV_LOOP_CONTROL *inv_loopctrl, KS_CORESLICETIME irslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), KS_SEQ_CONTROL *invseq_seqctrl_ptr, KS_CORESLICETIME coreslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), KS_SEQ_CONTROL *mainseq_seqctrl_ptr, const KSINV_LOOP_CONTROL_DESIGN *design, KS_SEQ_COLLECTION *seqcollection) |
|
STATUS | ksinv_eval_duration_simple (KSINV_LOOP_CONTROL *inv_loopctrl, KS_CORESLICETIME irslicetime, KS_CORESLICETIME coreslicetime, KS_SEQ_CONTROL *invseq_seqctrl_ptr, const KSINV_LOOP_CONTROL_DESIGN *design) |
|
int | ksinv_eval_nullti (int TR, int T1value, int seqdur) |
|
int | ksinv_eval_nulltr (int TI, int T1value, int seqdur) |
|
STATUS | ksinv_eval_duration_interleaved (KSINV_LOOP_CONTROL *inv_loopctrl, KS_CORESLICETIME irslicetime, KS_CORESLICETIME coreslicetime, KS_SEQ_CONTROL *invseq_seqctrl_ptr, KS_SEQ_CONTROL *mainseq_seqctrl_ptr, const KSINV_LOOP_CONTROL_DESIGN *design) |
|
STATUS | ksinv_eval_duration_flairblock (KSINV_LOOP_CONTROL *inv_loopctrl, KS_CORESLICETIME irslicetime, KS_CORESLICETIME coreslicetime, KS_SEQ_CONTROL *invseq_seqctrl_ptr, KS_SEQ_CONTROL *mainseq_seqctrl_ptr, const KSINV_LOOP_CONTROL_DESIGN *design) |
|
STATUS | ksinv_eval_duration_setfilltr (KS_SEQ_CONTROL *filltr, int duration) |
|
STATUS | ksinv_check () |
|
STATUS | ksinv_predownload_setrecon () |
|
s64 | ksinv_scan_sliceloop (KSINV_LOOP_CONTROL *inv_loopctrl, KS_DYNAMIC_STATE *dynamic, KSINV_LOOP_MODE ksinv_loop_mode, KS_CORESLICETIME coreslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), KS_CORESLICETIME irslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic)) |
|
s64 | ksinv_scan_sliceloop_flairblock (KSINV_LOOP_CONTROL *inv_loopctrl, KS_DYNAMIC_STATE *dynamic, KS_CORESLICETIME coreslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), KS_CORESLICETIME irslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic)) |
|
s64 | ksinv_scan_sliceloop_sliceahead (KSINV_LOOP_CONTROL *inv_loopctrl, KS_DYNAMIC_STATE *dynamic, KS_CORESLICETIME coreslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), KS_CORESLICETIME irslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), int nslicesahead_current, int nslicesahead_next, int play_core) |
|
s64 | ksinv_scan_acqloop (KSINV_LOOP_CONTROL *inv_loopctrl, KS_DYNAMIC_STATE *dynamic, KS_CORESLICETIME coreslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), KS_CORESLICETIME irslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), const int inv_rampup, const int inv_rampdown) |
|
s64 | ksinv_scan_scanloop (KSINV_LOOP_CONTROL *inv_loopctrl, KS_DYNAMIC_STATE *dynamic, KS_CORESLICETIME coreslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), KS_CORESLICETIME irslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic)) |
|
void | ksinv_prescanloop (KSINV_LOOP_CONTROL *inv_loopctrl, KS_CORESLICETIME coreslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), KS_CORESLICETIME irslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), int nloops, int dda) |
|
STATUS | ksinv_eval_chain_design (KSINV_CHAIN *inv_chain, KSINV_CHAIN_DESIGN *inv_chain_design, const KSINV_LOOP_CONTROL *inv_loopctrl) |
|
s64 | ksinv_scan_acqloop_chain (const KSINV_CHAIN *inv_chain, KSINV_LOOP_CONTROL *inv_loopctrl, KS_DYNAMIC_STATE *dynamic, KS_CORESLICETIME coreslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), KS_CORESLICETIME irslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic)) |
|
s64 | ksinv_scan_scanloop_chain (const KSINV_CHAIN *inv_chain, KSINV_LOOP_CONTROL *inv_loopctrl, KS_DYNAMIC_STATE *dynamic, KS_CORESLICETIME coreslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic), KS_CORESLICETIME irslice(const SCAN_INFO *slice_pos, KS_DYNAMIC_STATE *dynamic)) |
|