LIRADeconvolver#

class pylira.LIRADeconvolver(alpha_init, n_iter_max=3000, n_burn_in=1000, fit_background_scale=False, save_thin=True, ms_ttlcnt_pr=1, ms_ttlcnt_exp=0.05, ms_al_kap1=0.0, ms_al_kap2=1000.0, ms_al_kap3=3.0, filename_out=None, filename_out_par=None, random_state=None)[source]#

Bases: object

LIRA image deconvolution method

Parameters:
alpha_initndarray

Initial alpha parameters. The length must be n for an input image of size 2^n x 2^n

n_iter_maxint

Max. number of iterations.

n_burn_inint

Number of burn-in iterations.

fit_background_scalebool

Fit background scale.

save_thinTrue

Save thin?

ms_ttlcnt_pr: float

Multiscale prior TODO: improve description

ms_ttlcnt_exp: float

Multiscale prior TODO: improve description

ms_al_kap1: float

Multiscale prior TODO: improve description

ms_al_kap2: float

Multiscale prior TODO: improve description

ms_al_kap3: float

Multiscale prior TODO: improve description

random_stateRandomState

Random state

Examples

This how to use the class:

from pylira import LIRADeconvolver
from pylira.data import point_source_gauss_psf

data = point_source_gauss_psf()
data["flux_init"] = data["flux"]
deconvolve = LIRADeconvolver(
    alpha_init=np.ones(np.log2(data["counts"].shape[0]).astype(int))
)
result = deconvolve.run(data=data)

Methods Summary

run(data)

Run the algorithm

to_dict()

Convert deconvolver configuration to dict, with simple data types.

Methods Documentation

run(data)[source]#

Run the algorithm

Parameters:
datadict of ndarray

Data

Returns:
resultLIRADeconvolverResult

Result object.

to_dict()[source]#

Convert deconvolver configuration to dict, with simple data types.

Returns:
datadict

Parameter dict.