Skip to content

err_dist None does not work, and default err_dist contradicts docs #908

@andresgur

Description

@andresgur

Description of the Bug

Valid statistics for err_dist are:

from stingray.lightcurve import valid_statistics
print(valid_statistics)

['poisson', 'gauss', None]

But None does not work as methods expect a string (see below)

The docs also say:

err_dist: str, optional, default ``None``
    Statistical distribution used to calculate the
    uncertainties and other statistical values appropriately.
    Default makes no assumptions and keep errors equal to zero.

But the default is "poiss"

I propose to default to "none" instead of None, and make "none" one of the valid_statistics intended for None

Steps/Code to Replicate the Bug

You can reproduce the error as:

times = np.arange(1000)

mean_flux = 100.0 # mean flux
std_flux = 2.0 # standard deviation on the flux
flux = np.random.normal(loc=mean_flux, scale=std_flux, size=len(times))
flux_err = np.ones_like(flux) * std_flux

lc = Lightcurve(times, flux, err=flux_err, err_dist=None, dt=1.0, skip_checks=True)

You can also use "None" and it won't work either, because is not a keyword in valid_statistics (see below)

Expected Results

No error upon using None

Actual Results

lc = Lightcurve(times, flux, err=flux_err, err_dist=None, dt=1.0, skip_checks=True)
File "/home/andresgur/scripts/pythonscripts/stingray/stingray/lightcurve.py", line 278, in init
if err_dist.lower() not in valid_statistics:
AttributeError: 'NoneType' object has no attribute 'lower'

lc = Lightcurve(times, flux, err=flux_err, err_dist="None", dt=1.0, skip_checks=True)

File "/home/andresgur/scripts/pythonscripts/stingray/stingray/lightcurve.py", line 280, in init
raise StingrayError(
stingray.exceptions.StingrayError: ('Statistic not recognized.Please select one of these: ', "['poisson', 'gauss', None]")

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIt's a bug! Unexpected or unwanted behavior.help wantedWe need additional help with these issues!

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions