KSFoundation  [October2024]
A platform for structured EPIC programming on GE MR systems
Data Structures
Here are the data structures with brief descriptions:
 C_grad_heat_handle
 C_grad_list
 C_phaseencoding_coord_pool_s
 CIndices
 CKS_BASE

(Internal use) Structure being a part of various sequence object to keep count of instances on HOST and TGT

 CKS_CORESLICETIME

Duration and RF center (for excitation or inversion as applicable) of a coreslice/irslice function (having one or more sequence modules).

KS_CORESLICETIME is the return type of each sequence's coreslice. It is used for content-agnostic inversion timing
 Cks_crusher_constraints
 CKS_DIXON_ASYMREADWAVE

ADDTITLEHERE

 CKS_DYNAMIC_STATE

Data to be extracted during the looping structure of the psd

 CKS_ECHOTRAIN

A collection of readout controls that define an echotrain

 CKS_ECHOTRAIN_DESIGN
 CKS_ECHOTRAIN_READOUT_TIMING

Save key timepoints of the readout, used by ks_pg_echotrain_readout as output

 CKS_EPI

Composite sequence object for EPI readout

 CKS_GRADRFCTRL

typedef struct that is a part of the KS_SEQ_CONTROL typedef struct, used internally to collect gradient & RF usage for heating and SAR calcs. Should not be used directly.

 CKS_ISIROT

Struct for in-sequence rotations using ISI vector interupts

 Cks_kacq_coord_params_t
 CKS_KACQ_RECONSHEDULE_ENTRY

An entry into the table that is written into the k_acq file when using GE's arc reconstruction

 CKS_KCOORD

ADDTITLEHERE

 CKS_KSPACE_ACQ

ADDTITLEHERE

 CKS_KSPACE_DESIGN

Input design for how to set up data acquistion (FOV, matrix size, parallel imaging, rBW etc)

This struct is used by e.g. ks_eval_design_readtrap(), ksepi_eval_kdesign2epitrain(), ksfse_eval_numlines2acq() and is a part of all sequence generator's design structs (KSEPI_MODULE->KSEPI_DESIGN, KSFSE_MODULE->KSFSE_DESIGN, KSGRE_MODULE->KSGRE_DESIGN)
 CKS_PEPLAN_SHOT_DISTRIBUTION

ADDTITLEHERE

 CKS_PHASEENCODING_COORD

Struct holding a 3D k-space phase encoding location (ky,kz)

 CKS_PHASEENCODING_PLAN

ADDTITLEHERE

 CKS_PHASEENCODING_PLAN_DESIGN

Design struct for the generation of a phase encoding plan

 CKS_PHASEENCODING_REPEAT_DESIGN

ADDTITLEHERE

 CKS_PHASEENCODING_SHOTCOORDS

ADDTITLEHERE

 CKS_PHASER

Composite sequence object for phase encoding using a trapezoid gradient

 Cks_rampparams_s
 CKS_READ

Core sequence object that handles a data acquisition window

 CKS_READ_RESAMPLER

An internal input parameter structure for writing out a resampling file

 CKS_READCONTROL

Wraps pulsegen information and state of each readout in an echotrain

 CKS_READCONTROL_PULSEGEN

Stores information used to pulsegen an array of readouts (KS_REATRAP/KS_READWAVE)

 CKS_READCONTROL_STATE

Stores information used to adapt an array of readouts (KS_REATRAP/KS_READWAVE) during the scan

 CKS_READTRAP

Composite sequence object for data readout using a trapezoid gradient

 CKS_READWAVE

Composite sequence object for data readout during a wave (1-D resampling)

 CKS_READWAVE_DESIGN
 CKS_RF

Composite sequence object for RF (with optional OMEGA & THETA pulses)

 CKS_RT_SCALE_LOGLog of real-time scaling amplitudes
 CKS_SAR

Struct to keep SAR parameters together. Used in ks_eval_rflimits() and GEReq_eval_checkTR_SAR_calcs()

 CKS_SELRF

Composite sequence object for slice-selective RF

 CKS_SELRF_DESIGN

Input design to create a slice selective RF pulse. Should be a part of a sequence struct and set up by a main sequence (*.e) before eval

This struct is used by ks_eval_design_selrfexc(), ks_eval_design_selrfref(), ks_eval_design_selrfinv() to set up RF pulses
 CKS_SEQ_COLLECTION

Collection handle of all sequence modules involved in the pulse sequence, used for RF scaling, TR timing and SAR calculations

 CKS_SEQ_CONTROL
 CKS_SEQ_HANDLE

Internal typedef struct that is a part of the KS_SEQ_CONTROL typedef struct. Should not be used directly

 CKS_SEQLOC

typedef struct used as argument to ks_pg_*** functions to control where and when to place a sequence object (e.g. KS_TRAP)

 CKS_SLICE_PLAN

Struct holding all information about slice locations and aquisition order

 CKS_SLICETIMING

Struct holding the 'consequence' variables such as slice plan and TR. These fields should not be set manually, use ksscan_slicetiming_eval_design() instead.

 CKS_SLICETIMING_DESIGN

Struct for desired slice timing and slice location behavior. To be filled in by a parent sequence before calling ksscan_slicetiming_eval_design()

 CKS_SMS_INFO

Internal typedef struct that is a part of the KS_SELRF typedef struct, used to store information about the pulses SMS properties.

 CKS_TRAP

Core sequence object for making trapezoids on X,Y,Z, and OMEGA boards

 CKS_VIEW

ADDTITLEHERE

 CKS_WAIT

Core sequence object that adds wait periods in the pulse sequence (see ks_eval_wait(), ks_pg_wait()). Can be placed on any sequence board

 CKS_WAVE

Core sequence object making arbitrary waveforms on any board (using float data format)

 CKS_WFINSTANCE

(Internal use) Structure being a part of various sequence objects to sort them in time across boards

 CKSCHEMSAT_DESIGN

typedef struct holding steering parameters for a chemical sat module

 CKSCHEMSAT_MODULE

typedef struct holding all information about a chemical sat module incl. all gradients and waveforms

 CKSCOMMON_RESAMPLER
 Ckscommon_wave_params
 CKSDIFF_CONTROL

Control structure for performing diffusion weighting

 CKSDIFF_CONTROL_DESIGN

Design of a control structure for performing diffusion weighting

 CKSDIXON_DESIGN

Dixon settings

 CKSDIXON_DUALREADTRAP

Struct related to dual bandwidth readouts.

Contains the support points as well as the shifts and partial Fourier from the dbw optimization
 CKSDIXON_READTRAP

Readtrap support points. Used to generate a readwave with ks_eval_coords2wave()

 CKSDIXON_STATE
 CKSEPG_RELAXATION

Relaxation operator

 CKSEPG_STATE

Extended phase graph state

 CKSEPG_TRAPS_DESIGN

Design Parameters for TRAPS

 CKSEPI_FLEET_SEQUENCE

FLEET EPI sequence module, used for GRAPPA calibration with 2D imaging

 CKSEPI_METADATA

KSEPI specific datastore struct for recon (c.f. ksepi_scan_attach_metadata())

 CKSEPI_SEQUENCE

typedef struct holding all all gradients and waveforms for the KSEPI_SEQUENCE

 CKSFSE_SEQUENCE

typedef struct holding all all gradients and waveforms for the ksfse sequence

 CKSGRE_SEQUENCE

typedef struct holding all all gradients and waveforms for the ksgre sequence

 CKSINV_CHAIN

Control a multi-inversion chain

 CKSINV_CHAIN_DESIGN

Design for a multi-inversion chain

 CKSINV_DESIGN

Design for the standard inversion module

 CKSINV_LOOP_CONTROL

Struct holding resulting information controlling all looping in an inversion scan

 CKSINV_LOOP_CONTROL_DESIGN

Design for KSINV_LOOP_CONTROL

 CKSINV_MODULE

Standard inversion module

 CKSINV_MULTI_INV_VOL

Configuration for a single volume of a multi-inversion chain

 CKSMT_DESIGN

typedef struct holding steering parameters for a MT module

 CKSMT_MODULE

typedef struct holding all information about a MT module incl. all gradients and waveforms

 CKSPROP2_METADATA
 CKSPROP_DESIGN
 CKSPROP_SETTINGS
 CKSPROP_STATE
 CKSSAT_MODULE

A module that can provide both spatial and chemical saturation in the same sequence module

 CKSSCAN_LOOP_CONTROL

Structure containing all the information to perform a standard scan loop

 CKSSCAN_LOOP_CONTROL_DESIGN

Design parameters for generating a KSSCAN_LOOP_CONTROL

 CKSSPSAT_DESIGN
 CKSSPSAT_LOC
 CKSSPSAT_MODULE
 CKSSPSAT_STATE
 CKSSPSAT_VOLBORDER

Struct describing the FOV in the logical coordinate system