Skip to content

Commit

Permalink
resolved merge conflicts.
Browse files Browse the repository at this point in the history
  • Loading branch information
iancze committed Jan 5, 2024
2 parents 411fa18 + 8aa609f commit e5e6d8b
Show file tree
Hide file tree
Showing 103 changed files with 5,768 additions and 12,503 deletions.
1 change: 0 additions & 1 deletion .coveragerc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
[run]
omit =
venv/*
src/mpol/spheroidal_gridding.py
relative_files = True


Expand Down
9 changes: 6 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ assignees: ''
**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
**To reproduce**
Steps to reproduce the behavior:

**Expected behavior**
Expand All @@ -21,8 +21,11 @@ If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. Linux + distro, MacOS, Windows]
- Python Version
- MPoL Version (`$python -c "import mpol; print(mpol.__version__)"`
- Python version
- MPoL version (`$python -c "import mpol; print(mpol.__version__)"`

**Suggested fix**
If you have a suggestion for how to fix the bug, please explain.

**Additional context**
Add any other context about the problem here.
6 changes: 4 additions & 2 deletions .github/workflows/docs_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ name: docs test
on:
pull_request:
types: [review_requested, closed]
pull_request_review:
types: [submitted, dismissed]

# Prevent multiple PRs from building/deploying the docs at the same time
concurrency:
Expand All @@ -18,7 +20,7 @@ jobs:
strategy:
max-parallel: 4
matrix:
python-version: ["3.8"]
python-version: ["3.10"]
steps:
- uses: actions/checkout@v3
- name: Set up Python
Expand All @@ -36,7 +38,7 @@ jobs:
key: ${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}
- name: Install doc dependencies
run: |
pip install .[docs]
pip install .[dev]
- name: Install Pandoc dependency
run: |
sudo apt-get install pandoc
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gh_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
python-version: '3.10'
- name: Install doc deps
run: |
pip install .'[docs]'
pip install .'[dev]'
- name: Install Pandoc dependency
run: |
sudo apt-get install pandoc
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
python-version: 3.10
- name: Install dependencies
run: |
pip install --upgrade pip
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
python-version: "3.10"
- name: Install package deps
run: |
pip install .[dev]
Expand All @@ -37,7 +37,7 @@ jobs:
fail-fast: false
max-parallel: 4
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
python-version: ["3.10", "3.11", "3.12"]
os: [ubuntu-20.04, macOS-latest, windows-latest]
steps:
- uses: actions/checkout@v3
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
name: package test

on:
push:
branches: [main]
pull_request:

jobs:
Expand All @@ -11,10 +13,14 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
python-version: "3.10"
- name: Install dependencies needed to download files
# we're just installing mpol here to reference the zenodo record number
# in __init__. below we'll reinstall for the tests.
run: |
pip install astropy
pip install frank
pip install .
- name: Cache/Restore the .mpol folder cache
uses: actions/cache@v3
env:
Expand All @@ -34,7 +40,7 @@ jobs:
strategy:
max-parallel: 4
matrix:
python-version: ["3.8", "3.9", "3.10"]
python-version: ["3.10", "3.11"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -139,5 +139,9 @@ dirty_image_model.pt
# setup file
project_setup.sh

# likely folders from testing
plotsdir
runs

# hatch-generated version file
src/mpol/mpol_version.py
5 changes: 3 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v4.5.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-toml
- id: check-added-large-files
args: ["--maxkb=5000"]
args: ["--maxkb=2000"]
- id: detect-private-key
- id: name-tests-test
- repo: https://github.com/psf/black
Expand Down
11 changes: 8 additions & 3 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
Contributors
* Ian Czekala, `@iancze`
* Brianna Zawadski, `@briannazawadzki`
* Jeff Jennings, `@jeffjennings`
* Brianna Zawadzki, `@briannazawadzki`
* Ryan Loomis, `@ryanaloomis`
* Tyler Quinn, `@trq5014`
* Hannah Grzybowski, `@hgrzy`
* Kadri Nizam, `@kadri-nizam`
* Megan Delamer
* Kaylee de Soto, `@kdesoto-astro`
* Robert Frazier, `@RCF42`
* Hannah Grzybowski, `@hgrzy`
* Mary Ogborn
* Tyler Quinn, `@trq5014`
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2019 Ian Czekala
Copyright (c) 2019 - 2023 Ian Czekala and contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
60 changes: 47 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,68 @@
# MPoL

[![Tests](https://github.com/MPoL-dev/MPoL/actions/workflows/tests.yml/badge.svg)](https://github.com/MPoL-dev/MPoL/actions/workflows/tests.yml)
[![Tests](https://github.com/MPoL-dev/MPoL/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/MPoL-dev/MPoL/actions/workflows/tests.yml)
[![gh-pages docs](https://github.com/MPoL-dev/MPoL/actions/workflows/gh_docs.yml/badge.svg)](https://mpol-dev.github.io/MPoL/)
[![DOI](https://zenodo.org/badge/224543208.svg)](https://zenodo.org/badge/latestdoi/224543208)

A Million Points of Light are needed to synthesize image cubes from interferometers.

MPoL is a flexible Python package designed for Regularized Maximum Likelihood imaging. We focus on supporting spectral line and continuum observations from interferometers like the Atacama Large Millimeter/Submillimeter Array (ALMA) and the Karl G. Jansky Very Large Array (VLA). There is potential to extend the package to work on other Fourier reconstruction problems like sparse aperture masking and kernel phase interferometry.

Documentation and installation instructions: [https://mpol-dev.github.io/MPoL/](https://mpol-dev.github.io/MPoL/)
MPoL is a [PyTorch](https://pytorch.org/) *library* built for Regularized Maximum Likelihood (RML) imaging and Bayesian Inference with datasets from interferometers like the Atacama Large Millimeter/Submillimeter Array ([ALMA](https://www.almaobservatory.org/en/home/)) and the Karl G. Jansky Very Large Array ([VLA](https://public.nrao.edu/telescopes/vla/)).

As a PyTorch *library*, MPoL is designed expecting that the user will write Python code that uses MPoL primitives as building blocks to solve their interferometric imaging workflow, much the same way the artificial intelligence community writes Python code that uses PyTorch layers to implement new neural network architectures (for [example](https://github.com/pytorch/examples)). You will find MPoL easiest to use if you adhere to PyTorch customs and idioms, e.g., feed-forward neural networks, data storage, GPU acceleration, and train/test optimization loops. Therefore, a basic familiarity with PyTorch is considered a prerequisite for MPoL.

MPoL is *not* an imaging application nor a pipeline, though such programs could be built for specialized workflows using MPoL components. We are focused on providing a numerically correct and expressive set of core primitives so the user can leverage the full power of the PyTorch (and Python) ecosystem to solve their research-grade imaging tasks. This is already a significant development and maintenance burden for our small research team, so our immediate scope must necessarily be limited.

Installation instructions, documentation, and examples at: [https://mpol-dev.github.io/MPoL/](https://mpol-dev.github.io/MPoL/)



## Citation

If you use this package or derivatives of it, please cite
If you use this package or derivatives of it, please cite the following two references:

@software{mpol,
author = {Ian Czekala and
Jeff Jennings and
Brianna Zawadzki and
Ryan Loomis and
Hannah Grzybowski and
Kadri Nizam and
Megan Delamer and
Kaylee de Soto and
Robert Frazier and
Hannah Grzybowski and
Mary Ogborn and
Tyler Quinn},
title = {MPoL-dev/MPoL: v0.1.1 Release},
month = jun,
year = 2021,
title = {MPoL-dev/MPoL: v0.2.0 Release},
month = nov,
year = 2023,
publisher = {Zenodo},
version = {v0.1.1},
doi = {10.5281/zenodo.4939048},
url = {https://doi.org/10.5281/zenodo.4939048}
version = {v0.2.0},
doi = {10.5281/zenodo.3594081},
url = {https://doi.org/10.5281/zenodo.3594081}
}

and

@ARTICLE{2023PASP..135f4503Z,
author = {{Zawadzki}, Brianna and {Czekala}, Ian and {Loomis}, Ryan A. and {Quinn}, Tyler and {Grzybowski}, Hannah and {Frazier}, Robert C. and {Jennings}, Jeff and {Nizam}, Kadri M. and {Jian}, Yina},
title = "{Regularized Maximum Likelihood Image Synthesis and Validation for ALMA Continuum Observations of Protoplanetary Disks}",
journal = {\pasp},
keywords = {Protoplanetary disks, Submillimeter astronomy, Radio interferometry, Deconvolution, Open source software, 1300, 1647, 1346, 1910, 1866, Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics},
year = 2023,
month = jun,
volume = {135},
number = {1048},
eid = {064503},
pages = {064503},
doi = {10.1088/1538-3873/acdf84},
archivePrefix = {arXiv},
eprint = {2209.11813},
primaryClass = {astro-ph.EP},
adsurl = {https://ui.adsabs.harvard.edu/abs/2023PASP..135f4503Z},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

---
Copyright Ian Czekala and contributors 2019-21
Copyright Ian Czekala and contributors 2019-24

A Million Points of Light are needed to synthesize image cubes from interferometers.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
graph TD
subgraph SimpleNet
subgraph GriddedNet
bc(BaseCube) --> HannConvCube
HannConvCube --> ImageCube
ImageCube --> FourierLayer
Expand Down
74 changes: 0 additions & 74 deletions docs/api.rst

This file was deleted.

6 changes: 6 additions & 0 deletions docs/api/analysis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Analysis

```{eval-rst}
.. automodule:: mpol.onedim
:members:
```
6 changes: 6 additions & 0 deletions docs/api/coordinates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Coordinates

```{eval-rst}
.. automodule:: mpol.coordinates
:members:
```
6 changes: 6 additions & 0 deletions docs/api/crossval.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Cross-validation

```{eval-rst}
.. automodule:: mpol.crossval
:members:
```
6 changes: 6 additions & 0 deletions docs/api/datasets.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Datasets

```{eval-rst}
.. automodule:: mpol.datasets
:members:
```
6 changes: 6 additions & 0 deletions docs/api/fourier.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Fourier

```{eval-rst}
.. automodule:: mpol.fourier
:members:
```
6 changes: 6 additions & 0 deletions docs/api/geometry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Geometry

```{eval-rst}
.. automodule:: mpol.geometry
:members:
```
Loading

0 comments on commit e5e6d8b

Please sign in to comment.