SLSDualBeamPolarimetry#
- class astropop.polarimetry.SLSDualBeamPolarimetry(retarder: str, k: float = None, zero: float = None, compute_k: bool = False, min_snr: float = None, psi_deviation: float = 0.1, iter_tolerance: float = 1e-05, max_iters: int = 100, zero_range: ~typing.List = <factory>)#
Bases:
_DualBeamPolarimetry
Polarimetry computation for Stokes Least Squares algorithm.
This method is describe in [1] and consists in fitting the data using theoretical models. This method has the advantage of not need particular sets of retarder positions and can handle missing points. More datailed description of fitted equations are given in [2] and [3].
- Parameters:
- retarder: str
Retarder type. Must be ‘quarterwave’ or ‘halfwave’.
- k: float (optional)
Normalization factor. If None, it is estimated from the data. Default is None.
- zero: float (optional)
Zero position of the retarder in degrees. Defult is None. If None, it will be estimated from the data on quarterwave retarders and will be zero for halfwave retarders.
- compute_k: bool (optional)
Fit the normalization factor using the data. Default is False. Conflicts with
k
argument.- min_snr: float (optional)
Minimum signal-to-noise ratio. Points with lower SNR will be discarded. Default is None.
- psi_deviation: float (optional)
Maximum deviation of the psi position from the sequence multiple of 22.5 degrees. Default is 0.1 degrees.
- iter_tolerance: float (optional)
When fitting the parameter for quarterwave retarders, the iteration stops when the difference between the previous and the current parameters is less than this tolerance. Default is 1e-5.
- max_iters: int (optional)
Maximum number of iterations. Default is 100.
- zero_range: list([float, float]) (optional)
Minimum and maximum acceptable values for the zero position, in degrees. Default is [0, 90].
Notes
The model fitting is performed by
cure_fit
function, using the Trust Region Reflectivetrf
method.If
k
orzero
arguments are passed, they won’t be computed. Instead, the passed values will be used.If
compute_k
is True, the value will be estimated from the data. For halfwave retarders, it will be estimated by the ratio of the total flux of the ordinary flux and the extraordinary flux in all positions [2]. For quarterwave retarders, it will be estimated in a iterative process described in [4].
References
Attributes Summary
Methods Summary
compute
(psi, f_ord, f_ext[, f_ord_error, ...])Compute the Stokes params from ordinary and extraordinary fluxes.
Attributes Documentation
Methods Documentation
- compute(psi, f_ord, f_ext, f_ord_error=None, f_ext_error=None)#
Compute the Stokes params from ordinary and extraordinary fluxes.
- Parameters:
- psiarray_like
Retarder positions in degrees. Must be multiple of 22.5 degrees.
- f_ordarray_like
Fluxes of ordinary beam. If
QFloat
, the errors will be considered in the parameters computation.- f_extarray_like
Fluxes of extraordinary beam. If
QFloat
, the errors will be considered in the parameters computation.- f_ord_errorarray_like, optional
Errors of the ordinary fluxes. Conflicts with the error of
f_ord
if it is aQFloat
.- f_ext_errorarray_like, optional
Errors of the extraordinary fluxes. Conflicts with the error of
f_ext
if it is aQFloat
.
- Returns:
StokesParameters
:Instances containing the computed Stokes Parameters.