Create a non Isotropic 3D Gaussian Point Spread Function (PSF)
%% NONISOTROPICGAUSSIANPSF - Creates a isotropic / non isotropic 3D Gaussian kernel.
%Uses the Statistical toolbox if installed (mvnpdf). Works without Statistical Toolbox, but slower and
% with higher limitation when it comes to the size of the PSF support.
%
% Syntax: [outKer] = nonIsotropicPSF(inSigma)
% = nonIsotropicPSF(inSigma,sizeDomain)
% = nonIsotropicPSF(inSigma,sizeDomain,precision)
% Inputs:
% inSigma - scalar (isotropic) or 3x1 vector with the standard deviation of the Gaussian kernel (reminder:
% sigma=FWHM/(2*sqrt(2*ln(2))) )
% sizeDomain (optional) - Define the size of the support of the PSF (default: 2.1*max(inSigma))
% precision (optional) - Add 'single' as input to calculate in single precision (default: double).
% The precision is