% Inputs
% x input signal, a vector of length N
%
% Optional Inputs
% is_real Type of the transform
% 0: complex-valued wave packets
% 1: real-valued wave packets
% [default set to 0]
% is_unif whether x is sampled on a uniform grid
% 0: No; 1: Yes
% typeNUFFT 1: NUFFT by Air Force Lab
% 2: USFFT by E. Candes
% 3: NUFFT by L. Greengard and J.-Y. Lee
% 4: Direct non-uniform Fourier Transform
% xo non-uniform locations at which x is measured
% NG number of subsampled points in time
% [R_low R_high] The range of interested spectrum
% rad a parameter to adjust the size of supports of the mother wave packet in
% the frequency domain, rad <= 2.
% is_cos Type of the window function
% 0: C^infinity window function
% 1: cosine window function
% [default set to 0]
% t_sc scaling parameter for radius
% [default set to 1-1/4]
% red redundancy parameter, red is a positive integer
% [default set to 1]
% epsl threshold for instantaneous frequency estimates
% [default set to 1e-2]
% h frequency band width per pixel in the synchrosqueezed
% time-frequency representation
% [default set to 1]
% is_fac 0: do not increase the magnitude of high frequency wave
% packet coefficients; 1: increase;
% [default set to 1, better to visualize high frequency
% instantaneous frequencies]
% wedge_length_coarse
% length of coarsest wedge
% [default set to 4]
%
% Outputs
% T_f 1D synchrosqueezed wave packet transform, a matrix with NG columns, each column represent frequency
% information at a fixed time
% coef 1D wave packet transform coefficients of x
% kk instantaneous frequency estimates from each wave packet
% coefficient