Data Class Family

class model.BSPL

Bases: PSPL

Methods

animate(tE, time_steps, frame_time, name, ...)

Produces animation of microlensing event.

get_amplification(t[, filt_idx])

Parallax: Get the photometric amplification term at a set of times, t.

get_resolved_amplification(t)

Parallax: Get the photometric amplification term at a set of times, t for both the plus and minus images.

get_u(t)

Parameters

get_chi2_photometry

get_lnL_constant

get_photometry

log_likely_photometry

log_likely_photometry_each

get_u(t)
Parameters
tnumpy array

Times at which to evaluate the source-lens separation.

Returns
unumpy array

Shape = [len(t), 2 sources, 2 directions on sky]

get_resolved_amplification(t)

Parallax: Get the photometric amplification term at a set of times, t for both the plus and minus images.

Parameters
t: Array of times in MJD.DDD
Returns
A_resolvednumpy array

[shape = len(t), len(sources), 2]

Notes

For each time t and each source, we have:
  • A_plus is the amplification for the plus image.

  • A_minus is the amplification for the minus image.

In other words,

xS[0, 0, 0] returns the amplification of the first source’s “plus” image at the first time.

Similarly,

xS[0, 0, 1] returns the amplification of the first source’s “minus” image at the first time.

get_amplification(t, filt_idx=0)

Parallax: Get the photometric amplification term at a set of times, t.

Note that this is a convenience function that combines amplifications from multiple sources. The returned amplification is

..math:

A = (f1 * A1 + f2 * A2) / (f1 + f2)

where the fluxes are the intrinsic source flux in the specified filter.

Parameters
t: Array of times in MJD.DDD
Returns
Anumpy array
Array of combined amplifications in the specified filter.
Shape = [len(t)]
animate(tE, time_steps, frame_time, name, size, zoom, astrometry)

Produces animation of microlensing event. This function takes the PSPL and makes an animation, the input variables are as follows

Parameters
tE:
number of einstein crossings times before/after the peak you want the animation to plot

e.g tE = 2 => graph will go from -2 tE to 2 tE

time_steps:

number of time steps before/after peak, so total number of time steps will be 2 times this value

frame_time:

times in ms of each frame in the animation

name: string

the animation will be saved as name.html

size: list

[horizontal, vertical] cm’s

zoom:

# of einstein radii plotted in vertical direction

class model.BSPL_Phot

Bases: BSPL, PSPL_Phot

Contains methods for model a BSPL photometry only. This is a Data-type class in our hierarchy. It is abstract and should not be instantiated.

Attributes
t0
tE
u0_amp
u0_E
u0_N
piE_E:

valid only if parallax model

piE_N:

valid only if parallax model

piE_amp
b_sff[#]
mag_src[#]:

add in

mag_base[#]:

add in

raL:

if parallax model

decL:

if parallax model

Methods

animate(tE, time_steps, frame_time, name, ...)

Produces animation of microlensing event.

get_amplification(t[, filt_idx])

Parallax: Get the photometric amplification term at a set of times, t.

get_astrometry(t[, ast_filt_idx])

Position of the observed (unresolved) source position in Einstein radii.

get_astrometry_unlensed(t[, ast_filt_idx])

Get the astrometry of the source if the lens didn't exist.

get_resolved_amplification(t)

Parallax: Get the photometric amplification term at a set of times, t for both the plus and minus images.

get_resolved_astrometry(t)

Position of the observed source position in Einstein radii.

get_resolved_astrometry_unlensed(t)

Get the astrometry of the source if the lens didn't exist.

get_u(t)

Parameters

get_centroid_shift

get_chi2_photometry

get_lens_astrometry

get_lnL_constant

get_photometry

log_likely_astrometry

log_likely_photometry

log_likely_photometry_each

get_resolved_astrometry_unlensed(t)

Get the astrometry of the source if the lens didn’t exist. Note, this is a photometry only model, so units are in Einstein radii.

Returns
xS_resolved_unlensednumpy array, [shape = len(t_obs), N_sources, 2]

The unlensed positions of the sources in Einstein radii.

In other words,

xS[0, 0, :] returns the 2D sky position of the first source at the first time.

Similarly,

xS[0, 1, :] returns the 2D sky position of the second source at the first time.

get_astrometry_unlensed(t, ast_filt_idx=0)

Get the astrometry of the source if the lens didn’t exist. Note, this is a photometry only model, so units are in Einstein radii.

Returns
xS_unlensednumpy array, dtype=float, shape = len(t_obs) x 2

The unlensed positions of the source in Einstein radii.

get_resolved_astrometry(t)

Position of the observed source position in Einstein radii.

Parameters
tarray_like, shape = [N_times]

Array of times to model.

Returns
model_posarray_like. shape = [N_times, N_images, 2]

Array of vector positions of the centroid at each t_obs.

get_astrometry(t, ast_filt_idx=0)

Position of the observed (unresolved) source position in Einstein radii.

Parameters
t: array_like

Array of times to model.

Returns
model_posarray_like

Array of vector positions of the centroid at each t_obs.

animate(tE, time_steps, frame_time, name, size, zoom, astrometry)

Produces animation of microlensing event. This function takes the PSPL and makes an animation, the input variables are as follows

Parameters
tE:
number of einstein crossings times before/after the peak you want the animation to plot

e.g tE = 2 => graph will go from -2 tE to 2 tE

time_steps:

number of time steps before/after peak, so total number of time steps will be 2 times this value

frame_time:

times in ms of each frame in the animation

name: string

the animation will be saved as name.html

size: list

[horizontal, vertical] cm’s

zoom:

# of einstein radii plotted in vertical direction

get_amplification(t, filt_idx=0)

Parallax: Get the photometric amplification term at a set of times, t.

Note that this is a convenience function that combines amplifications from multiple sources. The returned amplification is

..math:

A = (f1 * A1 + f2 * A2) / (f1 + f2)

where the fluxes are the intrinsic source flux in the specified filter.

Parameters
t: Array of times in MJD.DDD
Returns
Anumpy array
Array of combined amplifications in the specified filter.
Shape = [len(t)]
get_resolved_amplification(t)

Parallax: Get the photometric amplification term at a set of times, t for both the plus and minus images.

Parameters
t: Array of times in MJD.DDD
Returns
A_resolvednumpy array

[shape = len(t), len(sources), 2]

Notes

For each time t and each source, we have:
  • A_plus is the amplification for the plus image.

  • A_minus is the amplification for the minus image.

In other words,

xS[0, 0, 0] returns the amplification of the first source’s “plus” image at the first time.

Similarly,

xS[0, 0, 1] returns the amplification of the first source’s “minus” image at the first time.

get_u(t)
Parameters
tnumpy array

Times at which to evaluate the source-lens separation.

Returns
unumpy array

Shape = [len(t), 2 sources, 2 directions on sky]

class model.BSPL_PhotAstrom

Bases: BSPL, PSPL_PhotAstrom

Methods

animate(tE, time_steps, frame_time, name, ...)

Produces animation of microlensing event.

get_amplification(t[, filt_idx])

Parallax: Get the photometric amplification term at a set of times, t.

get_astrometry(t[, ast_filt_idx])

Parallax: Get unresolved astrometry for binary source, point lens.

get_astrometry_unlensed(t[, ast_filt_idx])

Get the astrometry of the sources if the lens didn't exist.

get_centroid_shift(t[, ast_filt_idx])

Parallax: Get the centroid shift (in mas) for a list of observation times (in MJD).

get_resolved_amplification(t)

Parallax: Get the photometric amplification term at a set of times, t for both the plus and minus images.

get_resolved_astrometry(t)

Parallax: For each source, get the x, y astrometry for the two lensed source images.

get_resolved_astrometry_unlensed(t)

Get the astrometry of the source if the lens didn't exist.

get_u(t)

Parameters

get_chi2_astrometry

get_chi2_photometry

get_lnL_constant

get_photometry

log_likely_astrometry

log_likely_astrometry_each

log_likely_photometry

log_likely_photometry_each

get_resolved_astrometry_unlensed(t)

Get the astrometry of the source if the lens didn’t exist.

Returns
xS_resolved_unlensednumpy array, [shape = len(t_obs), N_sources, 2]

The unlensed positions of the sources in arcseconds.

In other words,

xS[0, 0, :] returns the 2D sky position of the first source at the first time.

Similarly,

xS[0, 1, :] returns the 2D sky position of the second source at the first time.

get_astrometry_unlensed(t, ast_filt_idx=0)

Get the astrometry of the sources if the lens didn’t exist.

Returns
xS_unlensednumpy array, dtype=float, shape = len(t_obs) x 2 directions
The unlensed positions of the combined sources in arcseconds.
Shape = [len(t), 2 directions]
get_resolved_astrometry(t)

Parallax: For each source, get the x, y astrometry for the two lensed source images. For each source, we label the two images as plus and minus.

Returns
xS_resolvednumpy array

[shape = len(t), len(sources), 2, 2]

Notes

For each time t and each source, we have:
  • xS_plus is the vector position of the plus image.

  • xS_minus is the vector position of the minus image.

In other words,

xS[0, 0, 0, :] returns the 2D sky position of the first source’s “plus” image at the first time.

Similarly,

xS[0, 0, 1, :] returns the 2D sky position of the first source’s “minus” image at the first time.

get_astrometry(t, ast_filt_idx=0)

Parallax: Get unresolved astrometry for binary source, point lens.

Parameters
t:

Array of times in MJD.DDD

Returns
xS_lensed

Returns flux-weighted average of lensed source positions.

get_centroid_shift(t, ast_filt_idx=0)

Parallax: Get the centroid shift (in mas) for a list of observation times (in MJD).

Returns the flux-weighted centroid of all the sources lensed images.

Parameters
t:

Array of times in MJD.DDD

Returns
centroid_shiftnumpy array

[shape = len(t), 2]

animate(tE, time_steps, frame_time, name, size, zoom, astrometry)

Produces animation of microlensing event. This function takes the PSPL and makes an animation, the input variables are as follows

Parameters
tE:
number of einstein crossings times before/after the peak you want the animation to plot

e.g tE = 2 => graph will go from -2 tE to 2 tE

time_steps:

number of time steps before/after peak, so total number of time steps will be 2 times this value

frame_time:

times in ms of each frame in the animation

name: string

the animation will be saved as name.html

size: list

[horizontal, vertical] cm’s

zoom:

# of einstein radii plotted in vertical direction

get_amplification(t, filt_idx=0)

Parallax: Get the photometric amplification term at a set of times, t.

Note that this is a convenience function that combines amplifications from multiple sources. The returned amplification is

..math:

A = (f1 * A1 + f2 * A2) / (f1 + f2)

where the fluxes are the intrinsic source flux in the specified filter.

Parameters
t: Array of times in MJD.DDD
Returns
Anumpy array
Array of combined amplifications in the specified filter.
Shape = [len(t)]
get_resolved_amplification(t)

Parallax: Get the photometric amplification term at a set of times, t for both the plus and minus images.

Parameters
t: Array of times in MJD.DDD
Returns
A_resolvednumpy array

[shape = len(t), len(sources), 2]

Notes

For each time t and each source, we have:
  • A_plus is the amplification for the plus image.

  • A_minus is the amplification for the minus image.

In other words,

xS[0, 0, 0] returns the amplification of the first source’s “plus” image at the first time.

Similarly,

xS[0, 0, 1] returns the amplification of the first source’s “minus” image at the first time.

get_u(t)
Parameters
tnumpy array

Times at which to evaluate the source-lens separation.

Returns
unumpy array

Shape = [len(t), 2 sources, 2 directions on sky]