tracer = al.Tracer.from_galaxies(
    galaxies=[lens_galaxy, source_galaxy_0, source_galaxy_1])
"""
Lets look at the tracer`s image, this is the image we'll be simulating.
"""
tracer_plotter = aplt.TracerPlotter(tracer=tracer, grid=grid)
tracer_plotter.figures_2d(image=True)
"""
We can now pass this simulator a tracer, which creates the ray-traced image plotted above and simulates it as an
interferometer dataset.
"""
interferometer = simulator.via_tracer_from(tracer=tracer, grid=grid)
"""
Lets plot the simulated interferometer dataset before we output it to fits.
"""
interferometer_plotter = aplt.InterferometerPlotter(
    interferometer=interferometer)
interferometer_plotter.subplot_interferometer()
interferometer_plotter.subplot_dirty_images()
"""
__Output__

Output the simulated dataset to the dataset path as .fits files.
"""
interferometer.output_to_fits(
    visibilities_path=path.join(dataset_path, "visibilities.fits"),
    noise_map_path=path.join(dataset_path, "noise_map.fits"),
    uv_wavelengths_path=path.join(dataset_path, "uv_wavelengths.fits"),
    overwrite=True,
)
"""
__Visualize__
Example #2
0
import autolens.plot as aplt
import numpy as np

dataset_name = "mass_sie__source_sersic"
pixel_scales = 0.2

dataset_path = path.join("dataset", "interferometer", dataset_name)
"""Using the dataset path, load the data (image, noise-map, PSF) as an `Interferometer` object from .fits files."""

interferometer = al.Interferometer.from_fits(
    visibilities_path=path.join(dataset_path, "visibilities.fits"),
    noise_map_path=path.join(dataset_path, "noise_map.fits"),
    uv_wavelengths_path=path.join(dataset_path, "uv_wavelengths.fits"),
)

interferometer_plotter = aplt.InterferometerPlotter(
    interferometer=interferometer)
interferometer_plotter.subplot_interferometer()
"""
The perform a fit, we need two masks, firstly a ‘real-space mask’ which defines the grid the image of the lensed 
source galaxy is evaluated using.
"""

real_space_mask = al.Mask2D.circular(shape_native=(200, 200),
                                     pixel_scales=0.2,
                                     radius=3.0)
"""We also need a ‘visibilities mask’ which defining which visibilities are omitted from the chi-squared evaluation."""

visibilities_mask = np.full(fill_value=False,
                            shape=interferometer.visibilities.shape)
"""
__Settings__
Example #3
0
real_space_mask = al.Mask2D.circular(shape_native=(200, 200),
                                     pixel_scales=0.05,
                                     radius=3.0)

interferometer = al.Interferometer.from_fits(
    visibilities_path=path.join(dataset_path, "visibilities.fits"),
    noise_map_path=path.join(dataset_path, "noise_map.fits"),
    uv_wavelengths_path=path.join(dataset_path, "uv_wavelengths.fits"),
    real_space_mask=real_space_mask,
)
"""
We now pass the interferometer to an `InterferometerPlotter` and call various `figure_*` methods to plot different 
attributes.
"""
interferometer_plotter = aplt.InterferometerPlotter(
    interferometer=interferometer)
interferometer_plotter.figures_2d(
    visibilities=True,
    noise_map=True,
    u_wavelengths=True,
    v_wavelengths=True,
    uv_wavelengths=True,
    amplitudes_vs_uv_distances=True,
    phases_vs_uv_distances=True,
)
"""
The `InterferometerPlotter` may also plot a subplot of all of these attributes.
"""
interferometer_plotter.subplot_interferometer()
"""
The dirty images of the interferometer dataset can also be plotted, which use the transformer of the interferometer