https://github.com/phdenzel/gleam
Gravitational Lens Extended Analysis Module
https://github.com/phdenzel/gleam
analysis-framework gravitational-lensing modelling-framework
Last synced: 2 months ago
JSON representation
Gravitational Lens Extended Analysis Module
- Host: GitHub
- URL: https://github.com/phdenzel/gleam
- Owner: phdenzel
- License: gpl-3.0
- Created: 2018-10-29T16:53:59.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2021-09-01T12:30:04.000Z (about 4 years ago)
- Last Synced: 2025-02-26T06:34:57.678Z (7 months ago)
- Topics: analysis-framework, gravitational-lensing, modelling-framework
- Language: Python
- Homepage:
- Size: 18 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
* GLEAM
#+HTML: Gravitational Lens Extended Analysis Module
** Future
Migration to Python3 in progress...** Binaries
GLEAM is avaiable as a python module and is on its way to be
implemented as a standalone app for macOS. In future, simply download
the lates release and double-click to run... To use the full
framework however, clone the repository and add it to your
~PYTHONPATH~ (e.g. in your ~.bashrc~ file).** Requirements
GLEAM inherits a requirement from GLASS ~swig~. On linux, also make
sure that ~python2-dev~ (or similar) and ~python-tk~ is installed.
For example,
#+BEGIN_SRC bash
sudo apt install swig python-tk python2-dev
#+END_SRC** Install
To install GLEAM manually, simply open the terminal and run
#+BEGIN_SRC bash
./configure
./install
#+END_SRC
This will unpack, compile, and install all the necessary
dependencies. It might need some tinkering, so if any problems arise
feel free to contact me.
** Content
*** gleam.reconsrc
The synthetic imager. The ~ReconSrc~ class provides complete
functionality of the synthetic imager and can be initiated with a mass
maps and observations loaded as a ~LensModel~ (~gleam.utils.lensing~)
and ~LensObject~ (~gleam.lensobject~) object respectively.*** gleam.skycoords
Framework for reading astronomical coordinates such as /J2000/,
/RA/Dec/, etc. Is able to convert between different coordinate
systems, and interfaces particularly well with the CFHTLS MegaPipe
pixel coordinate system.*** gleam.skyf
Reads in a single ~.fits~ file and extracts general information on the
observation. Also contains several plotting procedures which
visualize the data.*** gleam.skypatch
Reads in a set of ~.fits~ files and extracts general information on
the observation in different bands, analogously to ~skyf.py~
(importing ~skyf.py~). Visualizes data as stacked or palette image.*** gleam.lensobject
Inherits from ~SkyF~. Additionally extracts properties important for
gravitational lenses and lensed sources. Visualizes these properties
on top of inherited plotting procedures.*** gleam.multilens
Inherits from ~SkyPatch~. Additionally extracts properties important
for gravitational lenses and lensed sources, analogously to
~lensobject.py~. Visualizes these properties on top of inherited
plotting procedures as stacked or palette image.*** gleam.lensfinder
A simple peak finder to extract lens and source image positions. Uses
very crude procedures, whose parameters have to be fine-tuned.
Provides an automatic lens detection feature to the ~LensObject~
class.*** gleam.glscfactory
GLASS config-file generator. Features a sync and config reading
feature with ~LensObject~ class. Can be used to write config files
for ~LensObject~ class instances, or to extract config files from
~LensObject~ class instances.
- TODO: Write a main method for usage as script!*** gleam.utils
Several utility features such as custom color maps, basic lensing
computations, plotting functions, etc. A general LensModel object is
included as well with which a GLASS state or any kappa map can be read
in.*** gleam.gui
- Still in work...
- Implemented features: reading in .fits files, applying masks of
several shapes, and saving as ~.json~ files.*** gleam.app
Components of ~gleam.gui~
- ~gleam.app.prototype~
- ~gleam.app.menubar~
- ~gleam.app.navbar~
- ~gleam.app.statusbar~
- ~gleam.app.toolbar~
- ~gleam.app.window~*** gleam.model
**** gleam.model.sersic
Two dimensional, Sersic mapper. Calculates and visualizes profiles and
maps.**** gleam.model.spep
Two dimensional, softened power-law elliptical potential SPEP
mapper. Calculates and visualizes profiles and maps.**** gleam.model.spemd
Two dimensional, softened power-law elliptical mass distribution
mapper. Calculates and visualizes profiles and maps.* Libraries
** GLASS
GLEAM interfaces with GLASS, which is why GLASS is included in as a
package in ~src~. To install it on macOS simply use the ~compile~
and ~install~ scripts. On linux, glpk sometimes installs its build
library in ~src/glass/build/glpk_build/lib64~ which needs to be
renamed to ~src/glass/build/glpk_build/lib~. If the subsequent
install fails, it might be worth renaming it manually.