def options(occ=None, debyewaller=None, scattering_factor=None,
            moment=None, incident_polarisation_vector=(1, 0, 0), magnetic_formfactor=None,
            energy_kev=8, polarisation='sp', azi_ref_q=(1, 0, 0), psi=0, f0=0, f1=1, f2=0):
    """
    Create an input dict that will work with all structure factor (sf_) functions
    :param occ: [m,1] array of atomic occupancies
    :param debyewaller: [n,m] array of thermal factors for each atom and reflection
    :param scattering_factor: array [n,m] or [n]: radiation dependent scattering factor/ form factor,/ scattering length
    :param moment: [m,3] array of magnetic moment direction in orthogonal basis
    :param incident_polarisation_vector: [1,3] direction of incident polarisation
    :param magnetic_formfactor: [n,m] array of magnetic form factors for each atom and relection
    :param energy_kev: float value of incident x-ray energy in keV
    :param azi_ref_q: [1,3] azimuthal refence, in cartesian basis (Q)
    :param psi: float value of the azimthal angle - the rotation out of the scattering plane.
    :param polarisation: str definition of the polarisation can be: ['ss','sp','ps','pp'] with 's'=sigma, 'p'=pi
    :param f0: float Flm value 0 (charge)
    :param f1: float Flm value 1
    :param f2: float Flm value 2
    :return: dict
    """
    return locals()