Skip to content

Releases: PSims/BayesEoR

v2.0.0

19 Sep 14:04
1a3709e

Choose a tag to compare

New major version to coincide with #61 which includes updates the the package structure, the user interface, test data, and allowed input data types. The major version number has been incrimented as the API has changed and non-backwards-compatibile changes have been introduced, for example to the module substructure (see changes 1 and 2 below) and the analysis parameters (see the documentation for the updated set of analysis parameters and change 3 below for some examples).

Changes

  1. New modules bayeseor.setup, bayeseor.run, and bayeseor.vis

  2. Rearranged modules to avoid circular imports. The new submodules structure is as follows:

bayeseor
├── analyze
│   ├── analyze.py
│   └── maxap.py
├── cosmology.py
├── gpu.py
├── matrices
│   ├── build.py
│   └── funcs.py
├── model
│   ├── healpix.py
│   ├── instrument.py
│   ├── k_cube.py
│   └── noise.py
├── params.py
├── posterior.py
├── run.py
├── setup.py
├── utils.py
└── vis.py
  1. Updated set of analysis parameters to include the original set of command line arguments plus the relevant command line arguments from scripts/data_preprocessing.py and scripts/uvbeam_preprocessing.py. For example, to select a subset of frequencies when using a pyuvdata-compatible file as input, the user can now specify some combination of freq_min, freq_center, freq_idx_min, and/or nf to set the minimum frequency, central frequency, minimum frequency index, and/or number of frequencies, respectively. An identical set of parameters is also available for the time axis (jd_min, jd_center, jd_idx_min, nt). Invalid combinations of parameters will raise a ValueError.

  2. There are now two test datasets: EoR (test_data/eor/eor.uvh5) and EoR+foregrounds (test-data/eor_fgs/eor_and_fgs.uvh5) with accompanying configuration yaml files (test_data/*/config.yaml). The provided configuration yaml files now contain the minimum sufficient set of analysis parameters to analyze the test data in each case. The visibilities for the EoR only test data are identical to those used in the previous set of test data. There is a new page in the documentation describing the test datasets and how each test case can be run and analyzed.

  3. The documentation has been updated (#52). Notable changes here include the updated analysis parameter list, option to pass a pyuvdata-compatible file as input, the reduced set of analysis steps, a brief description and example of the usage of the updated bayeseor.analyze.maxap.MaximumAPosteriori class.

  4. There is a new input argument quiet (--quiet) which can be used to suppress most print statements, but a select few have been excluded and will always be printed regardless of the value of quiet.

  5. Add fit_for_monopole to the sampler output directory name

  6. Change conf_interval to cred_interval in bayeseor.analyze.analyze.DataContainer class as we're plotting credibility intervals not confidence intervals in the summary plots.

  7. A number of other small changes have been made to update docstrings for functions throughout the codebase (fixed #52 and #34)

  8. Updated README to reflect the updated codebase. This was an extra but necessary change that I overlooked.


Full Changelog: v1.1.0...v2.0.0

v1.1.0

19 Sep 13:31

Choose a tag to compare

This version marks the last version 1.X.X before the merging of the restructure branch in #61.

Changes

  • Updated array directory naming scheme to account for frequency resolution and minimum frequency
  • Improved print statements when using GPUs
  • Speedups and improvements to the calculation of $\mathbf{T} = \mathbf{F}^{-1}\mathbf{F}'\mathbf{F}_z$
    • Construct $\mathbf{T} = \mathbf{F}^{-1} \left( \mathbf{F}'\mathbf{F}_z \right)$ from the dense blocks in $\mathbf{F}^{-1}$ and $\mathbf{F}'\mathbf{F}_z$ to take advantage of numpy threading (Issue: #43, PR: #44).
    • Construct $\mathbf{T} = \left( \mathbf{F}^{-1}\mathbf{F}'\right) \mathbf{F}_z$ from teh dense blocks in $\mathbf{F}^{-1}$ and $\mathbf{F}'$ first to take advantage of numpy threading and save massively on RAM requirements when the field of view of the sky model gets large (Issue: #49 , PR: #54). This behavior is preferred by default, but $\mathbf{T}$ can instead be built as $\mathbf{T} = \mathbf{F}^{-1} \left( \mathbf{F}'\mathbf{F}_z \right)$ by specifying the build_Finv_and_Fprime configuration yaml or --build-Finv-and-Fprime command line argument.
  • Added a kwarg to toggle plotting of prior bounds on power spectrum summary plots (Issue: #41 , PR: #47)
  • Power spectrum summary plots now show the median and credibility interval instead of the mean and standard deviation

Full Changelog: v1.0.0...v1.1.0

v1.0.0

10 Oct 10:16
b7b92ba

Choose a tag to compare

First official release to coincide with JOSS publication.