pyoof is a Python package which performs out-of-focus (OOF) holography on astronomical beam maps for single-dish radio telescopes.
Project description
pyoof is a Python package that contains all needed tools to perform out-of-focus (OOF) holography on astronomical beam maps for single-dish radio telescopes. It is based on the original OOF holography papers,
and software developed by Bojan Nikolic.
The pyoof package calculates the aperture phase distribution map from a set of beam maps (telescope observations), at a relatively good signal-to-noise as described by B. Nikolic. By using a nonlinear least squares minimization, a convenient set of polynomials coefficients can be found to represent the aperture distribution. Once this is calculated the aberrations on the primary dish are known.
We are currently testing the pyoof package at the Effelsberg radio telescope :satellite:.
Project Status
pyoof is still in the early-development stage. While much of the functionality is already working as intended, the API is not yet stable. Nevertheless, we kindly invite you to use and test the library and we are grateful for feedback. Note, that work on the documentation is still ongoing.
Installation
The easiest and more convenient way to install the pyoof package is via pip
pip install pyoof
The installation is also possible from the source. Clone the GitHub repository and execute!
python setup.py install
From the source you can install developer versions, be aware of that. I believe in the future :smile:, so please install Python 3. Unfortunately, a windows version of the package is currently not available.
Dependencies
So far the pyoof package uses the common Python packages, it is recommended to install the anaconda distribution first, although using pip is also fine.
pyoof has the following strict requirements:
Python 3.5 or later
setuptools: Used for the package installation.
NumPy 1.11 or later
SciPy: 0.15 or later
astropy: 1.3 or later (2.0 recommended)
pytest 2.6 or later
matplotlib 1.5 or later: To provide plotting functionality.
PyYAML 3.11 or later.
For future versions dependencies will be reduced.
Usage
To use the pyoof package is straight forward. First define your observational data in the established fits file format and then execute!
import pyoof
from pyoof import aperture, telgeometry
# Extracting observation data and important information
oofh_data = 'path/to/file.fits' # fits file with special format
data_info, data_obs = pyoof.extract_data_pyoof(oofh_data)
# Effelsberg telescope definition
effelsberg = [
telgeometry.block_effelsberg, # Blockage distribution
telgeometry.opd_effelsberg, # OPD function
50., # Primary dish radius
'effelsberg' # Telescope name
]
pyoof.fit_beam(
data_info=data_info, # information
data_obs=[beam_data, u_data, v_data], # observed beam
method='trf', # opt. algorithm 'trf', 'lm' or 'dogbox'
order_max=5, # it will fit from 1 to order_max
illum_func=aperture.illum_pedestal, # or illum_gauss
telescope=effelsberg, # telescope properties
resolution=2 ** 8, # standard is 2 ** 8
box_factor=5, # box_size = 5 * pr, pixel resolution
)
For the impatient :hushed: , see the Jupyter notebook example, oof_holography.ipynb.
License
pyoof is licensed under a 3-clause BSD style license - see the LICENSE.rst file.
Contact
If you have any questions about the code or theory sections, do not hesitate and raise an issue. You can also send me an email directly:
tcassanelli _at_ gmail.com
Project details
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
File details
Details for the file pyoof-0.2.3.tar.gz
.
File metadata
- Download URL: pyoof-0.2.3.tar.gz
- Upload date:
- Size: 56.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c11c106dd32f69bd0a44f4f731ea2e1a0f171cca4a39be315c59a1eb1f8b0eac |
|
MD5 | 8657f83f92842d804c9f286f1cfaafda |
|
BLAKE2b-256 | ade5f2fd007e3eda252e16a5381e725f94312a05307bda82cf2ff0cc25a60176 |
File details
Details for the file pyoof-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: pyoof-0.2.3-py3-none-any.whl
- Upload date:
- Size: 56.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d77c8314570f7612b6e607d8815145fdcccdbde8e1bec281a56711568260559 |
|
MD5 | 24e9b99e4849da1f04494258850a2a4e |
|
BLAKE2b-256 | 1328f2509be1a2a6f9ca661a0f21f031eb633fea52a0c3caef0b8e8122d25d4f |