Context#

class phise.Context(
interferometer: Interferometer,
target: Target,
h: astropy.units.Quantity,
Δh: astropy.units.Quantity,
Γ: astropy.units.Quantity,
monochromatic=False,
name: str = 'Unnamed Context',
)[source]#

Bases: object

__init__(
interferometer: Interferometer,
target: Target,
h: astropy.units.Quantity,
Δh: astropy.units.Quantity,
Γ: astropy.units.Quantity,
monochromatic=False,
name: str = 'Unnamed Context',
)[source]#

Créer un contexte d’observation.

Paramètres#

interferometerInterferometer

Objet décrivant l’instrument et sa géométrie.

targetTarget

Objet décrivant la cible (coordonnées, flux, compagnons).

hastropy.units.Quantity

Heure locale/angle horaire central de l’observation.

Δhastropy.units.Quantity

Durée / intervalle en angle horaire observé.

Γastropy.units.Quantity

Erreur de cophasage RMS (quantité en longueur).

monochromaticbool, optionnel

Si True, utiliser l’approximation monochromatique.

namestr, optionnel

Nom du contexte.

property pf: astropy.units.Quantity#

Photon flux in the context

update_photon_flux()[source]#

Calculer et stocker le flux photonique reçu par chaque télescope.

Hypothèses#

  • Le flux spectral de la cible est supposé constant sur la bande Δλ.

  • Si Δλ == 0 (cas monochromatique), la valeur est normalisée par 1 nm.

property p: astropy.units.Quantity#

Projected position of the telescopes in a plane perpendicular to the line of sight.

project_telescopes_position()[source]#

Projeter les positions des télescopes dans un plan perpendiculaire.

Met en place la propriété p (positions projetées en mètres) à partir des positions locales des télescopes et de l’angle horaire h.

plot_projected_positions(
N: int = 11,
return_image=False,
)[source]#

Plot the telescope positions over the time.

Parameters:
  • N (-)

  • return_image (-)

Return type:

  • None | Image buffer if return_image is True

get_transmission_maps(
N: int,
) ndarray[float][source]#

Generate all the kernel-nuller transmission maps for a given resolution

Parameters:

N (-)

Returns:

  • - Null outputs map (3 x resolution x resolution)

  • - Dark outputs map (6 x resolution x resolution)

  • - Kernel outputs map (3 x resolution x resolution)

get_transmission_map_gradient_norm(
N: int,
) ndarray[float][source]#

Get the norm of the gradient of the transmission maps.

Parameters:

N (-)

Returns:

  • - Gradient norm of the null outputs map (3 x resolution x resolution)

  • - Gradient norm of the dark outputs map (6 x resolution x resolution)

  • - Gradient norm of the kernel outputs map (3 x resolution x resolution)

plot_transmission_map_gradient_norm(
N: int,
return_plot: bool = False,
) None[source]#

Plot the norm of the gradient of the transmission maps.

Parameters:
  • N (-)

  • return_plot (-)

Return type:

  • None | Image buffer if return_plot is True

get_input_fields() ndarray[complex][source]#

Get the complexe amplitude of the signals acquired by the telescopes.

Return type:

  • (nb_companions + 1, nb_telescope) array of acquired signals (complex amplitudes)

get_h_range() ndarray[float][source]#

Get the hour angle range of the observation.

Return type:

  • Hour angle range (in radian)

observe_monochromatic()[source]#

Observe the target in this context with monochromatic approximations.

Returns:

  • - Dark data (6,) - # of photons events

  • - Kernel data (3,) - # of photons events

  • - Bright data (1,) - # of photons events

observe(spectral_samples=5)[source]#

Observe the target in this context.

Parameters:

spectral_samples (-)

Returns:

  • - Dark data (6,) - # of photons events

  • - Kernel data (3,) - # of photons events

  • - Bright data (1,) - # of photons events

observation_serie(n: int = 1) ndarray[int][source]#

Generate a series of observations in this context.

Parameters:

n (-)

Returns:

  • - Dark data (n, n_h, 6) - # of photons events

  • - Kernel data (n, n_h, 3) - # of photons events

  • - Bright data (n, n_h) - # of photons events

calibrate_gen(
β: float,
verbose: bool = False,
plot: bool = False,
figsize: tuple = (10, 10),
) dict[source]#

Optimize the phase shifters offsets to maximize the nulling performance.

Parameters:
  • β (-)

  • verbose (-)

  • plot (-)

  • figsize (-)

Returns:

- Dict

Return type:

Dictionary with the optimization history (optional)

calibrate_obs(
n: int = 1000,
plot: bool = False,
figsize: tuple[int] = (30, 20),
)[source]#

Optimize the phase shifters offsets to maximize the nulling performance.

Parameters:
  • n (-)

  • plot (-)

  • figsize (-)

Returns:

- Context

Return type:

New context with the optimized kernel nuller

get_VLTI() Context[source]#

Get the default context for the analysis. This context uses:

  • The VLTI with 4 UTs.

  • The first generation of active kernel nuller.

  • Vega as target star and an hypothetical companion at 2 mas with a contrast of 1e-6.

get_LIFE() Context[source]#

Get the default context for the analysis. This context uses:

  • The 4 telescopes of LIFE

  • The first generation of active kernel nuller.

  • Vega as target star and an hypothetical companion at 2 mas with a contrast of 1e-6.