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