Autolens

Latest version: v2024.11.13.2

Safety actively analyzes 687918 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 5

2021.10.14.1

**Note on backwards compatibility**

The unique identifers of certain lens model will change as a result of this release, meaning that backwards compatibility may not be possible. We have a tool which updates the identifiers to this version such that existing results can be updated and retained, please contact me on SLACK if this is necessary.

**Function Renames**

Many core functions have been renamed for conciseness, for example:

`deflections_2d_from_grid` -> `deflections_2d_from`
`convergence_2d_from_grid` -> `convergence_2d_from`

This should not impact general use and the workspace has been updated with new templates using these functions.

**Double Source Plane Lens Inversions**

Reconstruction of multiple strong lensed sources at different redshifts (e.g. double Einstein ring systems) is now supported, including full model-fitting pipelines. The API for this is a natural extension of the existing API whereby multiple sources are allocated a `Pixelization` and `Regularization`:


lens = af.Model(
al.Galaxy,
redshift=0.5,
bulge=af.Model(al.lp.EllSersic),
mass=af.Model(al.mp.EllIsothermal)
)
source_0 = af.Model(
al.Galaxy,
redshift=1.0,
mass=al.mp.SphericalIsothermal,
pixelization=al.pix.VoronoiMagnification,
regularization=al.reg.Constant,
)
source_1 = af.Model(
al.Galaxy,
redshift=2.0,
pixelization=al.pix.VoronoiMagnification,
regularization=al.reg.Constant,
)
model = af.Collection(galaxies=af.Collection(lens=lens, source_0=source_0, source_1=source_1))


The following workspace examples demonstrate double source modeling and visualization further:

https://github.com/Jammy2211/autolens_workspace/blob/release/scripts/imaging/modeling/mass_total__source_sis_parametric__source_parametric.py
https://github.com/Jammy2211/autolens_workspace/blob/release/scripts/imaging/chaining/double_einstein_ring.py
https://github.com/Jammy2211/autolens_workspace/blob/release/scripts/imaging/chaining/pipelines/double_einstein_ring.py

https://github.com/Jammy2211/autolens_workspace/blob/release/scripts/plot/plotters/InversionPlotter.py
https://github.com/Jammy2211/autolens_workspace/blob/release/scripts/plot/plotters/FitImagingPlotter.py

**Signal To Noise Light Profile Simulations**

A class of signal-to-noise based light profiles, accessible via the command `al.lp_snr`, are now available. When used to simulate strtong lens imaging, these light profiles automatically adjust their `intensity` parameter based on the noise properties simulation to give the desired signal to noise ratio:


bulge=al.lp_snr.EllSersic(
signal_to_noise_ratio=50.0,
centre=(0.0, 0.0),
elliptical_comps=al.convert.elliptical_comps_from(axis_ratio=0.9, angle=45.0),
effective_radius=0.6,
sersic_index=3.0,
),


When combined with a `Tracer` the signal to noise of the light profile's image is adjusted based on the ray-traced image, thus it fully accounts for magnification when setting the signal to noise.

A full description of this feature can be found at this link:

https://github.com/Jammy2211/autolens_workspace/blob/release/scripts/imaging/simulators/misc/manual_signal_to_noise_ratio.py

**W-Tilde Inversion Imaging Formalism**

All Imaging Inversion analysis uses a new formalism for the linear algebra, which provides numerically equivalent results to the previous formalism (which is still implemented and used in certain scenarions).

The W-tilde formalism provides a > x3 speed up on high resolution imaging datasets. For example, for HST images with a pixel scale of 0.05" and a circular mask of 3.5", this formalism speeds up the overall run-time of a fit (e.g. one evaluation of the log likelihood function) from 4.8 seconds to 1.55 seconds. For higher resolution data or bigger masks an even more significant speed up is provided.

Users so not need to do anything to activate this formalism, it is now the default method used when an inversion is performed.

**Implicit Preloading**

Imaging and Interferometer analysis now use implicit preloading, whereby before a model-fit the model is inspected and preloadsare automatically generated for the parts aspects of the model-fit which do not change between each lens model. Previously, these would have been recomputed for every model fit, making the log likelihood evaluation time longer than necessary.

Example quantities which are stored via implicit preloading are:

- If the light profiles of all galaxies are fixed, their corresponding blurred image-plane image is preloaded and reused for every lens model fit.
- If the mass profiles of all galaxies are fixed, the deflection angles and ray-tracing do not change. Preloading is used to avoid repeated computation.
- Numerous aspects of the linear algebra of an inversion can be preloaded depending on which parts of the model do or do not vary.

This will provide significantl speed up for certain lens model fits.

2021.8.12.1

- Fixed installation issues due to requirement clashes with scipy.
- Database and aggregator support GridSearch model-fits, primarily for dark matter subhalo scanning models.
- Aggregator supports generation of tracers and fits which are drawn randomly from the PDF, for error estimation.
- Visualization of 1D light profile, mass profile and galaxy profile quantities with errors via the aggregator.
- More visualization tools, described at https://github.com/Jammy2211/autolens_workspace/tree/release/scripts/plot

2021.6.04.1

Removed the use of pyquad from the `EllipticalIsothermal` mass profile's `potential_2d_from_grid` method.

2021.6.02.1

This release switches our versionin scheme to dates of the format `year.month.day.release`. This version is shared across all `PyAuto` projects.

There is no major new functionality in this release.

1.15.3

This release brings in a number of features for improved model-fitting, all of which come from an updated to **PyAutoFit**:

- First class support for parallel Dynesty and Emcee model-fits. Previously, parallel fits were slow due to communication overheads, which are now handled correctly with **PyAutoFit**. One can expect a speed up close to the number of CPUs, for example a fit on 4 CPUs should take ~x4 less time to run. The API to perform a parallel fit is as follows:


search = af.DynestyStatic(
path_prefix=path.join("imaging", "modeling"),
name="mass[sie]_source[bulge]",
unique_tag=dataset_name,
nlive=50,
number_of_cores=1, Number of cores controls parallelization
)


- In-built visualization tools for a non-linear search, using each non-linear search's inbuilt visualization libraries. Examples of each visualization are provided at the following link:

https://github.com/Jammy2211/autolens_workspace/tree/release/scripts/plot/search

- Updated to the unique tag generation, which control the output model folder based on the model, search and name of the dataset.

- Improved database tools for querying, including queries based on the name of the specific fit of the non-linear search and the dataset name unique tag.

1.15.2

- Improved visualization for interferometer modeling, including dirty image, noise-map, residuals, etc.
- Unique identifier now uses specific settings of a search.

Page 4 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.