Skip to content

Commit

Permalink
Merge pull request #247 from MPoL-dev/loss-correction
Browse files Browse the repository at this point in the history
Fix loss function bugs and inconsistencies, reorganize likelihood documentation
  • Loading branch information
iancze authored Dec 29, 2023
2 parents 10cb760 + a085ecf commit dee9128
Show file tree
Hide file tree
Showing 55 changed files with 700 additions and 8,918 deletions.
16 changes: 12 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,17 @@
[![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

Expand Down Expand Up @@ -57,4 +63,6 @@ and
}

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

A Million Points of Light are needed to synthesize image cubes from interferometers.
80 changes: 0 additions & 80 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:
```
6 changes: 6 additions & 0 deletions docs/api/gridding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Gridding

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

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

0 comments on commit dee9128

Please sign in to comment.