Instrument

class phringe.core.instrument.Instrument(*, name: str = None, aperture_diameter: Union[str, float, Quantity], array_configuration_matrix: MutableDenseMatrix, nulling_baseline_max: Union[str, float, Quantity], nulling_baseline_min: Union[str, float, Quantity], complex_amplitude_transfer_matrix: MutableDenseMatrix, kernels: MutableDenseMatrix, quantum_efficiency: float, spectral_resolving_power: int, throughput: float, wavelength_bands_boundaries: list, wavelength_min: Union[str, float, Quantity], wavelength_max: Union[str, float, Quantity], amplitude_perturbation: Any = None, phase_perturbation: Any = None, polarization_perturbation: Any = None, number_of_inputs: int = None, number_of_outputs: int = None, response: Tensor = None)

Class representing the instrument.

Parameters:
  • aperture_diameter (str or float or Quantity) – The aperture diameter in meters.

  • array_configuration_matrix (Tensor) – The array configuration matrix.

  • baseline_max (str or float or Quantity) – The max baseline in meters.

  • baseline_min (str or float or Quantity) – The min baseline in meters.

  • complex_amplitude_transfer_matrix (Tensor) – The complex amplitude transfer matrix.

  • perturbations (Perturbations) – The perturbations.

  • quantum_efficiency (float) – The quantum efficiency.

  • sep_at_max_mod_eff (list) – The separation at max modulation efficiency.

  • spectral_resolving_power (int) – The spectral resolving power.

  • throughput (float) – The throughput.

  • wavelength_min (str or float or Quantity) – The min wavelength in meters.

  • wavelength_max (str or float or Quantity) – The max wavelength in meters.

number_of_inputs

The number of inputs.

Type:

int

number_of_outputs

The number of outputs.

Type:

int

response

The intensity response of the instrument.

Type:

Tensor

get_response(times: Tensor, wavelength_bin_centers: Tensor, x_sky_coordinates: Tensor, y_sky_coordinates: Tensor, modulation_period: float, nulling_baseline: float, kernels: bool, amplitude_perturbation: Optional[Tensor] = None, phase_perturbation: Optional[Tensor] = None, polarization_perturbation: Optional[Tensor] = None)

Return the intensity response of the instrument as a tensor.

Parameters:
  • times (Tensor) – Times at which the response should be evaluated.

  • wavelength_bin_centers (Tensor) – Wavelength bin centers.

  • x_sky_coordinates (Tensor) – Sky coordinates along x (alpha).

  • y_sky_coordinates (Tensor) – Sky coordinates along y (beta).

  • modulation_period (float) – Modulation period.

  • nulling_baseline (float) – Nulling baseline.

  • kernels (bool) – Whether to return the kernels or the full response.

  • amplitude_perturbation (Tensor, optional) – Amplitude perturbation for each input. Expected shape: (…, number_of_inputs)

  • phase_perturbation (Tensor, optional) – Phase perturbation for each input. Expected shape: (…, number_of_inputs)

  • polarization_perturbation (Tensor, optional) – Polarization perturbation for each input. Expected shape: (…, number_of_inputs)

Returns:

Instrument response tensor.

Return type:

Tensor