class rubin_sim.maf.stackers.RandomRotDitherPerFilterChangeStacker(rot_tel_col='rotTelPos', filter_col='filter', degrees=True, max_dither=90.0, max_rot_angle=90, min_rot_angle=-90, random_seed=None, debug=False)

Bases: BaseDitherStacker

Randomly dither the physical angle of the telescope rotator wrt the mount, after every filter change. Visits (in between filter changes) that cannot all be assigned an offset without surpassing the rotator limit are not dithered.

rot_tel_colstr, optional

The name of the column in the data specifying the physical angle of the telescope rotator wrt. the mount. Default: ‘rotTelPos’.

filter_colstr, optional

The name of the filter column in the data. Default: ‘filter’.

degreesbool, optional

True if angles in the database are in degrees (default). If True, returned dithered values are in degrees also. If False, angles assumed to be in radians and returned in radians.

max_ditherfloat, optional

Abs(maximum) rotational dither, in degrees. The dithers then will be between -max_dither to max_dither. Default: 90 degrees.

max_rot_anglefloat, optional

Maximum rotator angle possible for the camera (degrees). Default 90 degrees.

min_rot_anglefloat, optional

Minimum rotator angle possible for the camera (degrees). Default -90 degrees.

random_seed: int, optional

If set, then used as the random seed for the numpy random number generation for the dither offsets. Default: None.

debug: bool, optinal

If True, will print intermediate steps and plots histograms of rotTelPos for cases when no dither is applied. Default: False

Attributes Summary


Attributes Documentation

cols_added = ['randomDitherPerFilterChangeRotTelPos']