Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions autolens/interferometer/fit_interferometer.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
"""
Interferometer fit class for strong gravitational lens modeling in the uv-plane.

``FitInterferometer`` extends the ``autogalaxy`` ``FitInterferometer`` base class to
work with a ``Tracer`` instead of a plain ``Galaxies`` collection. The fit pipeline
mirrors the imaging analogue but operates entirely in the visibility (uv) domain:

1. Evaluate all light profiles of the tracer galaxies on the (ray-traced) real-space grid.
2. Apply the Fourier transform (DFT or NUFFT) to map the image to visibilities.
3. Subtract the predicted visibilities from the observed visibilities.
4. If the tracer contains linear light profiles or pixelizations, solve for their
amplitudes via a linear inversion of the residual visibilities.
5. Combine direct and inversion visibilities into the ``model_data``.
6. Compute residuals, chi-squared, and log likelihood (or log evidence).

The ``TracerToInversion`` helper is used to assemble the linear system in step 4.
"""
import numpy as np
from typing import Dict, List, Optional

Expand Down
14 changes: 14 additions & 0 deletions autolens/interferometer/model/analysis.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
"""
Analysis class for fitting a ``Tracer`` lens model to an interferometer dataset.

``AnalysisInterferometer`` implements the ``log_likelihood_function`` called by a
``PyAutoFit`` non-linear search at each iteration. It:

1. Constructs a ``Tracer`` from the current model instance.
2. Optionally applies adaptive galaxy images to linear components.
3. Calls ``FitInterferometer`` to evaluate the log likelihood in the uv-plane.
4. Returns the figure of merit (log likelihood or log evidence).

It also manages result output (``ResultInterferometer``), on-the-fly visualisation
(``VisualizerInterferometer``), and position-based priors via ``PositionsLH``.
"""
import logging
import numpy as np
from typing import Optional
Expand Down
14 changes: 14 additions & 0 deletions autolens/interferometer/simulator.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
"""
Interferometer simulator for strong gravitational lens observations.

``SimulatorInterferometer`` extends ``aa.SimulatorInterferometer`` with a
``via_tracer_from`` method that accepts a ``Tracer`` object and:

1. Uses the tracer's mass profiles to ray-trace the real-space grid to the source plane.
2. Evaluates the light profiles of all galaxies on the (traced) grid.
3. Applies the Fourier transform to map the real-space image to complex visibilities.
4. Adds noise to the visibilities according to the noise-map stored in the simulator.

This is the primary entry point for generating synthetic interferometer datasets for
testing, validation, and mock-data studies of ALMA or JVLA observations.
"""
from typing import List

import autoarray as aa
Expand Down
Loading