Open Source Galaxy Model-Fitting
Project description
PyAutoGalaxy
The study of a galaxy's light, structure and dynamics is at the heart of modern day Astrophysical research. PyAutoGalaxy makes it simple to model galaxies, like this one:
Missing for now :(
Example
With PyAutoGalaxy, you can begin modeling a galaxy in just a couple of minutes. The example below demonstrates a simple analysis which fits a galaxy's light.
.. code-block:: python
import autofit as af
import autogalaxy as ag
import os
"""
Load Imaging data of the strong lens from the dataset folder of the workspace.
"""
imaging = ag.Imaging.from_fits(
image_path="/path/to/dataset/image.fits",
noise_map_path="/path/to/dataset/noise_map.fits",
psf_path="/path/to/dataset/psf.fits",
pixel_scales=0.1,
)
"""
Create a mask for the data, which we setup as a 3.0" circle.
"""
mask = ag.Mask2D.circular(
shape_native=imaging.shape_native, pixel_scales=imaging.pixel_scales, radius=3.0
)
"""
We model the galaxy using an EllSersic LightProfile.
"""
light_profile = ag.lp.EllSersic
"""
We next setup this profile as model components whose parameters are free & fitted for
by setting up a Galaxy as a Model.
"""
galaxy_model = af.Model(ag.Galaxy, redshift=1.0, light=light_profile)
model = af.Collection(galaxy=_galaxy_model)
"""
We define the non-linear search used to fit the model to the data (in this case, Dynesty).
"""
search = af.DynestyStatic(name="search[example]", nlive=50)
"""
We next set up the `Analysis`, which contains the `log likelihood function` that the
non-linear search calls to fit the lens model to the data.
"""
analysis = ag.AnalysisImaging(dataset=masked_imaging)
"""
To perform the model-fit we pass the model and analysis to the search's fit method. This will
output results (e.g., dynesty samples, model parameters, visualization) to hard-disk.
"""
result = search.fit(model=model, analysis=analysis)
"""
The results contain information on the fit, for example the maximum likelihood
model from the Dynesty parameter space search.
"""
print(result.samples.max_log_likelihood_instance)
Getting Started
Please contact us via email or on our SLACK channel if you are interested in using PyAutoGalaxy, as project is still a work in progress whilst we focus n PyAutoFit and PyAutoLens.
Slack
We're building a PyAutoGalaxy community on Slack, so you should contact us on our
Slack channel <https://pyautogalaxy.slack.com/>
_ before getting started. Here, I will give you the latest updates on
the software & discuss how best to use PyAutoGalaxy for your science case.
Unfortunately, Slack is invitation-only, so first send me an email <https://github.com/Jammy2211>
_ requesting an
invite.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for autogalaxy-0.20.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1841a77399e4580fd92a6b72d768ef287e5d122be9c21ade7475ad903858e0cf |
|
MD5 | 7e8f29dfe5a3ee94bb8c7c14da6a5576 |
|
BLAKE2b-256 | e990d0e54cf38c87ada039340e991f0e588cc1d7c97af24016b5d16aab0ef638 |