You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: nufft_table_init.m
    path of file: ./repos/CS_MoCo_LAB/reconstruction/matlab/CS_LAB_matlab/utils/utils_NUFFT
    
    the code of the file until where you have to start completion:  function st = nufft_table_init(om, Nd, Jd, Kd, n_shift, Ld, varargin)
%function st = nufft_table_init(om, Nd, Jd, Kd, n_shift, Ld, ...)
%
% Initialize structure for d-dimension NUFFT using table-based interpolator,
% This should be called only by nufft_init with its 'table' argument!
% (So it belongs in the private directory.)
%
% in
    
function st = nufft_table_init(om, Nd, Jd, Kd, n_shift, Ld, varargin)
%function st = nufft_table_init(om, Nd, Jd, Kd, n_shift, Ld, ...)
%
% Initialize structure for d-dimension NUFFT using table-based interpolator,
% This should be called only by nufft_init with its 'table' argument!
% (So it belongs in the private directory.)
%
% in
%	om, Nd, Jd, Kd, n_shift		see nufft_init.m
%	Ld [d]				table over-sampling factor(s)
%
% optional arguments (same as nufft_init.m, to specify interp type)
% out
%	st.interp_table		function: X = st.interp_table(st, Xk);
%	st.interp_table_adj	function: Xk = st.interp_table_adj(st, Xk);
%	st.phase_shift		todo ???
%	st.*			same as in nufft_init.m
%
% Copyright 2004-3-30, Jeff Fessler and Yingying Zhang,	University of Michigan

if nargin < 5, help(mfilename), error args, end