Source code for monalisa.util._default_kernel
"""Port of src/varargin/bmVarargin_kernelType_nWin_kernelParam.m."""
import numpy as np
from monalisa._mat import double, isempty, single
[docs]
def default_kernel(kernelType=None, nWin=None, kernelParam=None):
"""Fill in the default gridding kernel: ``'gauss'``, ``nWin = 3``,
``kernelParam = [0.61, 10]`` (gauss) or ``[1.95, 10, 10]`` (kaiser)."""
if isempty(kernelType) or not isinstance(kernelType, str):
kernelType = "gauss"
if isempty(nWin):
if kernelType in ("gauss", "kaiser"):
nWin = 3.0
if isempty(kernelParam):
if kernelType == "gauss":
kernelParam = np.array([[0.61, 10.0]])
elif kernelType == "kaiser":
kernelParam = np.array([[1.95, 10.0, 10.0]])
nWin = double(single(nWin))
kernelParam = double(single(kernelParam))
if kernelType == "gauss" and np.size(kernelParam) == 3:
raise ValueError("Wrong list of gridding kernel parameters. ")
if kernelType == "kaiser" and np.size(kernelParam) == 2:
raise ValueError("Wrong list of gridding kernel parameters. ")
return kernelType, nWin, kernelParam