ncigt-fil
|
Functions | |
void | calc_DC_for_b1 (short Nx, short N_acq, short Ny, short Nf, short fr1, short ncoils, KCOORD *kline_c, int *acq_record, COMPLEX *xkykz, COMPLEX *DC_xkykz) |
void | nonlin_cphase (SCAN_INFO hdr, int *hb_length, float *acq_timing, float systole_thr) |
void | puzzleout_cineacq (int *trig_rr, int *trig_seg, int *trig_slice, SCAN_INFO *hdr_ptr, KCOORD *kline_o, KCOORD *kline_e, int *hb_length, float *acq_timing) |
void | read_ecg_info (char **ecgfile, SCAN_INFO *hdr_ptr, int *trig_rr, int *trig_seg, int *trig_slice, int pass) |
void | retrosp_gating_interp (short ncoils, short Nf_intrp, short Nf, short N_lines, short Ny, short Nx, short k, short ky, float *cph_record, float *ph_recon, COMPLEX *current_line, COMPLEX *kcine) |
void | sort_rds_data (short *rawdata, int z, SCAN_INFO hdr, float *acq_timing, COMPLEX *kspace_data) |
void calc_DC_for_b1 | ( | short | Nx, |
short | N_acq, | ||
short | Ny, | ||
short | Nf, | ||
short | fr1, | ||
short | ncoils, | ||
KCOORD * | kline_c, | ||
int * | acq_record, | ||
COMPLEX * | xkykz, | ||
COMPLEX * | DC_xkykz | ||
) |
Calculate the DC data to be used for self-calibration purposes.
Nx | number of points along readout |
N_acq | number of acquired phase encodes |
Ny | resolution along phase encode dimension |
Nf | number of temporal frames |
fr1 | select whether the data should be considered as an odd (fr1=0) or even (fr1=1) temporal frame. |
ncoils | number of coils |
kline_c | a list of the acquired k-space lines |
xkykz | input data, size: Nx, N_acq, Nf, ncoils, Nz |
DC_xkykz | output coil sensitivity estimate, size: Nx,2*N_acq,1,ncoils |
void nonlin_cphase | ( | SCAN_INFO | hdr, |
int * | hb_length, | ||
float * | acq_timing, | ||
float | systole_thr | ||
) |
Calculate cardiac phase, using a non-linear model whereby diastole data get stretched more than systole data, when accounting for arrythmia.
hdr | Pointer to the structure with scan info. |
hb_length | Length of each RR interval, in units of TR (output). |
acq_timing | Info regarding every single TR in the entire acquisition (0. ky,
|
systole_thr | Fraction of a (normal, or avera- ge) heartbeat considered to belong to systole. |
void puzzleout_cineacq | ( | int * | trig_rr, |
int * | trig_seg, | ||
int * | trig_slice, | ||
SCAN_INFO * | hdr_ptr, | ||
KCOORD * | kline_o, | ||
KCOORD * | kline_e, | ||
int * | hb_length, | ||
float * | acq_timing | ||
) |
Figure out how the cine acqui- sition proceeded, based on the timing of the R waves, the sampling function, and scan parameters.
trig_rr | Timing of R-waves, in units of TR. |
trig_seg | Segment being acquired in given RR. |
trig_slice | Slice being acquired in given RR. |
hdr_ptr | Pointer to the structure with scan info. |
kline_o | Sampling function, odd time frames. |
kline_e | Sampling function, odd time frames. |
hb_length | Length of each RR interval, in units of TR (output). |
acq_timing | Info regarding every single TR in the entire acquisition (0. ky, 1. linear cardiac phase,
|
void read_ecg_info | ( | char ** | ecgfile, |
SCAN_INFO * | hdr_ptr, | ||
int * | trig_rr, | ||
int * | trig_seg, | ||
int * | trig_slice, | ||
int | pass | ||
) |
First pass at reading the file, with ECG info, generated by the psd.
ecgfile | Name of the ECG info file. |
hdr_ptr | Pointer to the structure where the info is to be stored. |
trig_rr | Timing of R-waves, in units of TR. |
trig_seg | Segment being acquired in given RR. |
trig_slice | Slice being acquired in given RR. |
pass | For pass = 1, just find how many entries there are. For pass = 2, actually read these entries and store in memory. |
void retrosp_gating_interp | ( | short | ncoils, |
short | Nf_intrp, | ||
short | Nf, | ||
short | N_lines, | ||
short | Ny, | ||
short | Nx, | ||
short | k, | ||
short | ky, | ||
float * | cph_record, | ||
float * | ph_recon, | ||
COMPLEX * | current_line, | ||
COMPLEX * | kcine | ||
) |
Sort the data gathered by the raw data server.
ncoils | Number of receiver coils. |
Nf_intrp | Size time direction, after. |
Nf | Size time direction, before. |
N_lines | Number of ky-kz lines. |
Ny | Size y/ky direction. |
Nx | Size in x/kx direction. |
k | Index for current line. |
ky | ky location for current line. |
cph_record | Record of cardiac phase. |
ph_recon | Phase values desired. |
current_line | One k-line worth of data. |
kcine | Array where to store result |
void sort_rds_data | ( | short * | rawdata, |
int | z, | ||
SCAN_INFO | hdr, | ||
float * | acq_timing, | ||
COMPLEX * | kspace_data | ||
) |
Sort the data gathered by the raw data server.
rawdata | Raw data from the raw data server, for all slices. |
z | Slice to be sorted out. |
hdr | Scan info. |
acq_timing | Info regarding every single TR in the entire acquisition (0. ky,
|
kspace_data | Sorted data, for desired slice. |