scifysim.combiners module

scifysim.combiners.ABCD(Mc=Matrix([[sqrt(2) / 2, sqrt(2) / 2], [-sqrt(2) * I / 2, sqrt(2) * I / 2]]), ph_shifter_type='achromatic', wl=None)[source]

Build an ABCD combiner.

Returns: the sympy.Matrix of the combiner Free symbols can be retrieved in list(M.free_symbols)

scifysim.combiners.GLINT(include_masks=False, tap_ratio=None)[source]

Build a 4 input baseline-wise Bracewell combiner similar in principle to the one used in GLINT.

Returns: the sympy.Matrix of the combiner Free symbols can be retrieved in list(M.free_symbols)

scifysim.combiners.GRAVITY(Mc=Matrix([[sqrt(2) / 2, sqrt(2) / 2], [-sqrt(2) * I / 2, sqrt(2) * I / 2]]), wl=None, ph_shifter_type='achromatic')[source]

Build a 4 input baseline-wise ABCD combiner similar in principle to the one used in GRAVITY. E@D@C@B@A

Returns: the sympy.Matrix of the combiner Free symbols can be retrieved in list(M.free_symbols)

scifysim.combiners.VIKiNG(ph_shifters=None, include_masks=False, tap_ratio=None)[source]

optional : ph_shifters : a list of phase shifters in between the 2 stages

(eg: for kernel-nuller ph_shifters=[0, sp.pi/2])

include_masks: If true, the output will include bright, dark and photometric masks

selecting the relevant outputs

in: 4 out: 8 (ph0, ph1, bright0, dark0, dark1, bright1, ph2, ph3) symbols:

sigma : the photometric ratio (in intensity) phi_0 : the phase shifter1 phi_1 : the phase shifter2

Build a bracewell combiner with photometric outputs.

Returns: the sympy.Matrix of the combiner Free symbols can be retrieved in list(M.free_symbols)

scifysim.combiners.angel_woolf_ph(ph_shifters=None, include_masks=False, tap_ratio=None)[source]

optional : ph_shifters : a list of phase shifters in between the 2 stages

(eg: for kernel-nuller ph_shifters=[0, sp.pi/2])

include_masks: If true, the output will include bright, dark and photometric masks

selecting the relevant outputs

in: 4 out: 8 (ph0, ph1, bright0, dark0, dark1, bright1, ph2, ph3) symbols:

sigma : the photometric ratio (in intensity) phi_0 : the phase shifter1 phi_1 : the phase shifter2

Build a bracewell combiner with photometric outputs.

Returns: the sympy.Matrix of the combiner Free symbols can be retrieved in list(M.free_symbols)

scifysim.combiners.angel_woolf_ph_chromatic(ph_shifters=None, include_masks=False, offset=True, tap_ratio=None, Mc=Matrix([ [                                                                                                                                                                                                                                                                               5.96043014685912e+35*sqrt(-3.11899173008594e-27*lambda + (lambda + 8.0e-8)**6 - 2.17053912230413e-5*(lambda + 8.0e-8)**5 + 1.9282898951409e-10*(lambda + 8.0e-8)**4 - 8.97370643504022e-16*(lambda + 8.0e-8)**3 + 2.30849483140184e-21*(lambda + 8.0e-8)**2 + 1.49124427302617e-33)*sqrt(5.77997551361171e-27*lambda - (lambda + 8.0e-8)**6 + 2.40871778439492e-5*(lambda + 8.0e-8)**5 - 2.39874630703312e-10*(lambda + 8.0e-8)**4 + 1.26391490908348e-15*(lambda + 8.0e-8)**3 - 3.71594217139645e-21*(lambda + 8.0e-8)**2 - 3.25387788553213e-33), -5.96043014685912e+35*sqrt(3.11899173008594e-27*lambda - (lambda + 8.0e-8)**6 + 2.17053912230413e-5*(lambda + 8.0e-8)**5 - 1.9282898951409e-10*(lambda + 8.0e-8)**4 + 8.97370643504022e-16*(lambda + 8.0e-8)**3 - 2.30849483140184e-21*(lambda + 8.0e-8)**2 - 1.48545535819313e-33)*sqrt(5.77997551361171e-27*lambda - (lambda + 8.0e-8)**6 + 2.40871778439492e-5*(lambda + 8.0e-8)**5 - 2.39874630703312e-10*(lambda + 8.0e-8)**4 + 1.26391490908348e-15*(lambda + 8.0e-8)**3 - 3.71594217139645e-21*(lambda + 8.0e-8)**2 - 3.25387788553213e-33)*exp(-I*(pi*(8385360298.472*lambda + 1.2036866257e+36*(lambda + 8.0e-8)**6 - 2.73368521128e+31*(lambda + 8.0e-8)**5 + 2.003471800676e+26*(lambda + 8.0e-8)**4 - 3.770537163354e+20*(lambda + 8.0e-8)**3 - 1.7476266395813e+15*(lambda + 8.0e-8)**2 - 8914.38427432924)/180 - pi))], [5.96043014685912e+35*sqrt(3.11899173008594e-27*lambda - (lambda + 8.0e-8)**6 + 2.17053912230413e-5*(lambda + 8.0e-8)**5 - 1.9282898951409e-10*(lambda + 8.0e-8)**4 + 8.97370643504022e-16*(lambda + 8.0e-8)**3 - 2.30849483140184e-21*(lambda + 8.0e-8)**2 - 1.48545535819313e-33)*sqrt(5.77997551361171e-27*lambda - (lambda + 8.0e-8)**6 + 2.40871778439492e-5*(lambda + 8.0e-8)**5 - 2.39874630703312e-10*(lambda + 8.0e-8)**4 + 1.26391490908348e-15*(lambda + 8.0e-8)**3 - 3.71594217139645e-21*(lambda + 8.0e-8)**2 - 3.25387788553213e-33)*exp(I*(pi*(8385360298.472*lambda + 1.2036866257e+36*(lambda + 8.0e-8)**6 - 2.73368521128e+31*(lambda + 8.0e-8)**5 + 2.003471800676e+26*(lambda + 8.0e-8)**4 - 3.770537163354e+20*(lambda + 8.0e-8)**3 - 1.7476266395813e+15*(lambda + 8.0e-8)**2 - 8914.38427432924)/180 - pi)),                                                                                                                                                                                                                                                                                  5.96043014685912e+35*sqrt(-3.11899173008594e-27*lambda + (lambda + 8.0e-8)**6 - 2.17053912230413e-5*(lambda + 8.0e-8)**5 + 1.9282898951409e-10*(lambda + 8.0e-8)**4 - 8.97370643504022e-16*(lambda + 8.0e-8)**3 + 2.30849483140184e-21*(lambda + 8.0e-8)**2 + 1.49124427302617e-33)*sqrt(5.77997551361171e-27*lambda - (lambda + 8.0e-8)**6 + 2.40871778439492e-5*(lambda + 8.0e-8)**5 - 2.39874630703312e-10*(lambda + 8.0e-8)**4 + 1.26391490908348e-15*(lambda + 8.0e-8)**3 - 3.71594217139645e-21*(lambda + 8.0e-8)**2 - 3.25387788553213e-33)]]), input_ph_shifters=None)[source]

optional : ph_shifters : a list of phase shifters in between the 2 stages

(eg: for kernel-nuller ph_shifters=[0, sp.pi/2])

include_masks: If true, the output will include bright, dark and photometric masks

selecting the relevnant outputs

Mc : The chromatic combiner model default: M_KG

in: 4 out: 8 (ph0, ph1, bright0, dark0, dark1, bright1, ph2, ph3) symbols:

sigma : the photometric ratio (in intensity) phi_0 : the phase shifter1 phi_1 : the phase shifter2

Build a bracewell combiner with photometric outputs.

Returns: the sympy.Matrix of the combiner Free symbols can be retrieved in list(M.free_symbols)

scifysim.combiners.bracewell_ph(include_masks=False, tap_ratio=None)[source]

in: 2 out: 4 (ph0, bright, dark, ph1) symbols:

sigma : the photometric ratio (in intensity)

Build a bracewell combiner with photometric outputs.

Returns: the sympy.Matrix of the combiner M Free symbols can be retrieved in list(M.free_symbols)

scifysim.combiners.four2six()[source]
scifysim.combiners.four_photometric(tap_ratio)[source]
scifysim.combiners.geom_ph_shifter(p, lamb)[source]
scifysim.combiners.kernel_nuller_3T(include_masks=False, tap_ratio=None)[source]

optional : include_masks: If true, the output will include bright, dark and photometric masks

selecting the relevant outputs

in: 4 out: 8 (ph0, ph1, bright0, dark0, dark1, bright1, ph2, ph3) symbols:

sigma : the photometric ratio (in intensity) phi_0 : the phase shifter1 phi_1 : the phase shifter2

Build a bracewell combiner with photometric outputs.

Returns: the sympy.Matrix of the combiner Free symbols can be retrieved in list(M.free_symbols)

scifysim.combiners.kernel_nuller_4T(include_masks=False, tap_ratio=None)[source]

optional : include_masks: If true, the output will include bright, dark and photometric masks

selecting the relevant outputs

in: 4 out: 8 (ph0, ph1, bright0, dark0, dark1, bright1, ph2, ph3) symbols:

sigma : the photometric ratio (in intensity) phi_0 : the phase shifter1 phi_1 : the phase shifter2

Build a bracewell combiner with photometric outputs.

Returns: the sympy.Matrix of the combiner Free symbols can be retrieved in list(M.free_symbols)

scifysim.combiners.kernel_nuller_5T(include_masks=False, tap_ratio=None)[source]

optional : include_masks: If true, the output will include bright, dark and photometric masks

selecting the relevant outputs

in: 4 out: 8 (ph0, ph1, bright0, dark0, dark1, bright1, ph2, ph3) symbols:

sigma : the photometric ratio (in intensity) phi_0 : the phase shifter1 phi_1 : the phase shifter2

Build a bracewell combiner with photometric outputs.

Returns: the sympy.Matrix of the combiner Free symbols can be retrieved in list(M.free_symbols)

scifysim.combiners.kernel_nuller_6T(include_masks=False, tap_ratio=None)[source]

optional : include_masks: If true, the output will include bright, dark and photometric masks

selecting the relevant outputs

in: 4 out: 8 (ph0, ph1, bright0, dark0, dark1, bright1, ph2, ph3) symbols:

sigma : the photometric ratio (in intensity) phi_0 : the phase shifter1 phi_1 : the phase shifter2

Build a bracewell combiner with photometric outputs.

Returns: the sympy.Matrix of the combiner Free symbols can be retrieved in list(M.free_symbols)

scifysim.combiners.ph_shifter(phi)[source]
scifysim.combiners.piston2phase(p, lamb)[source]
scifysim.combiners.sp_clip_rows(mat, clip)[source]

A convenience function to clip sympy matrices

equivalent to mat[np.logical_not(clip),:]

Arguments: * mat : A sympy matrix * clip : A numpy boolean array of the rows to remove

Return: clipped sympy matrix

scifysim.combiners.test_combiners()[source]