Skip to content

Releases: mcyc/mufasa

v1.5.0

04 Feb 00:17
09e2e78
Compare
Choose a tag to compare

Centralized New Model Integration

Spectral model integration has now been consolidated into two modules: SpecModels.py and m_constants.py. The implementation will be carried out through class inheritance of the BaseModel and HyperfineModel classes.

Deprecation

The following modules are now deprecated in response to the consolidation and will be removed in v1.6.0:

  • ammonia_multiv.py
  • n2hp_constants.py
  • n2hp_deblended.py
  • n2hp_multiv.py
  • nh3_deblended.py

What's Changed

  • Centralized line model integration by @mcyc in #256
  • Expanded documentation by @mcyc in #260

Full Changelog: v1.4.3...v1.5.0

v1.4.3

27 Jan 22:12
95e3566
Compare
Choose a tag to compare

What's Changed

  • Patched skimage footprint_rectangle backwards incompatible bug by @mcyc in #251
  • Depreciate support for scikit-image <0.20.0 by @mcyc in #253

Note:

The bug causes some of mufasa's functions not to run if the scikit-image installed is <=0.25.0

Full Changelog: v1.4.2...v1.4.3

v1.4.2

22 Jan 03:18
5fe5c40
Compare
Choose a tag to compare

What's Changed

  • Enabled saving .csv and .html results by @mcyc in #241
  • Replaced depreciated skimage.morphology's square by @mcyc in #244
  • Removed FITS_tools dependency by @mcyc in #247
  • Updated dependency and adopting pyproject.toml by @mcyc in #249

Full Changelog: v1.4.1...v1.4.2

v1.4.1 - Save Structured Data Products

06 Jan 18:35
d5f0bd8
Compare
Choose a tag to compare

What's Changed

  • Structured Data Saving: Added support for saving structured data and 3D scatter plots (by @mcyc in #240)

Full Changelog: v1.4.0...v1.4.1

New N2H+ model, Refitting Likelihood Patches, Data Visualization, and Read the Docs

18 Dec 00:15
81050d1
Compare
Choose a tag to compare

Main Features and Updates

New Spectral Model: N2H+

This release introduces a new, 2-component spectra model to fit N2H+ (1–0) lines, in addition to the pre-existing NH3 (1,1) 2-component models described in Chen et al. (2020). The implementation of the N2H+ model was led by @jcaza02.

Likelihood Calculation Patch for Refits

The previous versions contain a long-standing bug where the calculated relative log-likelihood (ln k) for pixels replaced by a refit can be incorrect, even though the pixel was correctly replaced with a better 2-component model as determined by the AICc. The bug ultimately only affects how pixels were selected for refits, following the initial attempt. The ln k maps saved by save_best_2comp_fit were unaffected, since the saving method was designed to isolate these types of bugs. The bug also did not affect refit selection that was performed fresh from loading the earlier results from a new instance of the UltraCube class.

Python 3.12 Compitable

MUFASA is now Python 3.12 compatible. Installation requirements, specifically for the pyspeckit and FITS_tools packages, have been specified in setup.py to ensure compatibility.

New Refitting Method

The refit_bad_2comp module under master_fitter.py now contains a new guessing method called 'best_neighbour' and is made the default option. The 'best_neighbour' method uses the best-fit model in a pixel's immediate neighbourhood as its guesses for the refit.

Visualization Tools

MUFASA now has visualization tools to plot the spectral fits in a grid and modelled parameters in 3D (PPV).

Documentation on Read the Docs

MUFASA now has a documentation site on Read the Docs

Notable Changes

Bug Fixes and Stability Improvements

  • Fixed long-standing bug in load_model when converting between km/s and GHz by @mcyc.
  • Fixed small pixel-number bug and refined guessing with astropy's convolve as the default method by @mcyc.
  • Addressed invalid starting position bug by @mcyc.
  • Patched pandas forward-compatibility issue by @mcyc.
  • Addressed astropy 6.1.4 compatibility issues by @mcyc.
  • Improved unit handling with automatic checks and conversions when loading cubes by @mcyc.

Refitting and Model Enhancements

  • Added a new refit method: 'best_neighbour', now the default option in refit_bad_2comp, by @mcyc.
  • Enhanced refit capabilities:
    • Masked recalculations @mcyc.
    • Refitting marginally good models with refit_marginal() by @mcyc.
    • Generalized replace_bad_pix() for broader applications by @mcyc.
    • Improved wide 2-component refitting for NH₃ by @mcyc.
  • Changed lnk_thresh default to -5 in refit_bad_2comp by @mcyc.

New Features and Tools

  • Added spectral model support for N₂H⁺ (1–0), building on contributions by @jcaza02 and @mcyc.
  • Implemented visualization tools:
    • Spectral fit visualization and saved FITS loading by @mcyc.
    • Added visualization example to README.md @mcyc.
    • Enabled 3D PPV scatter plots by @mcyc.
  • Improved peak T estimator accuracy within the MetaModel class by @mcyc.

Performance and Efficiency

  • Improved memory efficiency for moment and SNR estimates by @mcyc.
  • Improved multicore selection for parallel processing by @taiwithers.

Logging and Error Handling

  • Added robust logging functionality by @taiwithers.
  • Implemented time-stamped logging for better debugging and reproducibility by @mcyc.
  • Introduced custom exception classes for in-house error handling by @mcyc.

Documentation

  • Released the first complete MUFASA documentation website on Read the Docs by @mcyc.

New Contributors

Full Changelog: v1.2.0...v1.4.0

v1.4.0-beta

15 Oct 15:59
a691f60
Compare
Choose a tag to compare
v1.4.0-beta Pre-release
Pre-release

v1.4.0-beta

Notable changes sinces v1.3.0

  • Added new spectral model: N2H+ (led by @jcaza02)
  • Patched likelihood calculation bugs for refits
  • Made forward compatible with Python 3.12
  • Added a new refitting method 'best_neighbour'
  • Added data visualization tools
  • Added refit_marginal function to master_fitter.py

New Contributors

AICc Calculation Revised

22 Jul 21:17
e1e70c1
Compare
Choose a tag to compare

This version (v1.2.0) revised how MUFASA calculates the AICc relative likelihood to that described by Burnham & Anderson (2004) for least squares estimation with normally distributed errors.

MUFASA's earlier implementation has been shown to be robust through rigorous tests against synthetic spectra (see Chen, M. C-Y. et al. 2020). The improvements brought forward by this version tend to be found in marginal cases where two models provide comparable fits to the data.

First Python 3 Compatible Version

14 Jul 22:58
Compare
Choose a tag to compare

The first Python 3 compatible version release

First pre-release of mufasa

05 Feb 01:25
Compare
Choose a tag to compare
Pre-release

This version of MUFASA is the one used in Chen et al. "Velocity-Coherent Filaments in NGC 1333: Evidence for Accretion Flow?" ApJ (2020; submitted).