Releases: transientskp/pyse
v0.7.1
Fixes two bugs:
- Restrict "tweaked moments" for "free shape" by @HannoSpreeuw in #187 - irrealistic values were found from "tweaked moments" extrapolations for "ill-formed" islands.
- Fix 186 and 173 by @HannoSpreeuw in #190 - the
--gridcommand-line parameter was not propagated correctly. Also,pyse --versionwill now give you the PySE version.
Subimage size for
Full Changelog: v0.7.0...v0.7.1
v0.7.0
What's Changed
- Fixed bug in peak brightnesses for vectorized source measurements with forced beam
- Fixed bug when force-fitting to positions.
- Added CITATION.cff
- Added pragmas for (Numba-) compiled code, such that Pytest coverage is accurate.
- Included output of
pyse -hin documentation test_measured_vectorized_free_shaperegression test now tests flux density measurements.is_usablefiltered out sources with masked pixels within its FWHM. This is now replaced by a different algorithm with a similar, but not equivalent effect: sources connected to masked pixels and edges will not be measured. It is optional to have those sources removed. Since it is applied at the time of connected-component labelling, it also has an effect on vectorized source measurements;is_usablewas not applied for vectorized source measurements.- Reformatting of literal blocks in docstrings and stricter adherence to "Numpydoc" style.
Full Changelog: v0.6.0...v0.7.0
Return Pandas DataFrames by default
What's Changed
- Source parameters are returned as a Pandas DataFrame by default.
- Sources are measured in a vectorized manner by default.
- A regression test for vectorized source measurements of resolved sources has been added.
- Error bars on deconvolved elliptical parameters are now more realistic.
- A bug from rounding errors has been fixed, this led to an arccos argument larger than 1.
- Implemented workaround for spurious Numba error.
- Fixed bug which led to a zero uncertainty in the deconvolved position angle.
- Fixed bug in the argument order when collecting NumPy ndarrays into a Pandas DataFrame; this affected the interpretation of
error_radius. - By adding
target="parallel"to every function that has a guvectorize decorator, PySE is now ~20% faster for vectorized source measurements with Pandas DataFrames returned. Previously, only a few of these functions hadtargetset in this way which meant that only a single CPU core was used when these functions were called.
Full Changelog: v0.5.1...v0.6.0
Fix multiprocessing instabilities and other bugs.
What's Changed
Main fix: a multiprocessing.Pool for parallellization of Gaussian fits over all the detected sources was previously launched from inside the image module, this is bad practice. Such should be done only from a top level script. It has been replaced by a threading pool, which does not offer any speed improvements, unless you use a free threading version of Python. The number of threads in the threading pool can be modified by the user, at the level of the conf.
Other bug fixes and improvements:
- Do not require a config toml file when calling pyse from cli by @tmillenaar in #155
- Add description of source params to generated docs by @HannoSpreeuw in #156
- Full propagation of conf objects. by @HannoSpreeuw in #157
- Work around broken hatch and click combination that is failing the CI by @tmillenaar in #161
- Do not force the numba threading layer by @tmillenaar in #160
- Add nr-threads config and cli parameter by @tmillenaar in #163
- Fix 158 by @HannoSpreeuw in #162
- Restore consistency in use of hyphens by @HannoSpreeuw in #164, which is important for the cli. Also, for clarity:
--detection --> --detection-thr,--analysis --> analysis-thr.
Full Changelog: v0.5.0...v0.5.1
v0.5.0
What's Changed
- Combine coverage of different test files into single file
- Re-enable parallel make_subimages
- Reduce test runtime by ~45%
- Build API docs w/ Sphinx and autoapi
- Enable forced beam for "tweaked moments" and return source parameters from vectorized source measurements as a Pandas df
Full Changelog: v0.4.0...v0.5.0
v0.4.0
What's Changed
- PySE run configuration is now governed by a config object. Previously, configuration parameters were scattered all over the code, mostly as globals. Users can now set all these parameters using a config.toml.
- The pyse.py command line script has been replaced by cli.py, reflecting the changes from the config object.
- All classes, methods and functions have numpydoc-style docstrings.
- "Tweaked moments" has been added to vectorized source measurements, such that the peak spectral brightness is measured with a very small bias, even smaller than the bias from Gaussian fits.
- PySE works with Python versions up to and including 3.13.
And a number of bug fixes.
Full Changelog: v0.3.3...v0.4.0
- Three fixes wrt background grid and interpolation by @HannoSpreeuw in #111
- This FITS image can be viewed without error by @HannoSpreeuw in #112
- Fixes for #108 and #104 by @HannoSpreeuw in #113
- Fix 114 by @HannoSpreeuw in #117
- Fix #116 by @HannoSpreeuw in #120
- Fixes 119 by @HannoSpreeuw in #121
- Fix 105 and 118 by @HannoSpreeuw in #124
- Fixes 122 by @HannoSpreeuw in #125
- Add a config mechanism by @suvayu in #126
- Add allow_multiprocessing boolean to configuration by @tmillenaar in #133
- This should fix "coordinates.angsep_vectorized" by @HannoSpreeuw in #136
- Add cli.py that parses arguments into a config object by @tmillenaar in #134
- Remove version restrictions regarding python<3.12 and numpy<2.0 by re… by @tmillenaar in #137
- Faster testing using pytest-xdist by @tmillenaar in #83
- Update code to use config object by @suvayu in #127
- Fix 138 by @HannoSpreeuw in #139
- Revert pytest xdist by @tmillenaar in #141
- Use back-size-x/y if set, fall back to grid parameter from config. by @tmillenaar in #145
- numpydoc-style docstrings for all classes, methods and functions. by @HannoSpreeuw in #142
v0.3.3
What's Changed
- The background grid nodes were not aligned properly on the subimages. #96
- Fast and accurate calculation of the mean and rms background grids without use of sep or dask. #102.
Full Changelog: v0.3.2...v0.3.3
v0.3.2
What's Changed
- Vectorized source extraction
- Fix values attribute override by @HannoSpreeuw in #57
- extract, as called from reverse_se, needs anl as a second positional argument. by @HannoSpreeuw in #58
- README: clarify some terminology by @suvayu in #61
- Port tkp changes to accessors by @tmillenaar in #63
- Reimplement dataaccessor by @HannoSpreeuw in #66
- Compute moments for thin islands differently by @HannoSpreeuw in #75
- Move tests from TraP by @suvayu in #80
New Contributors
- @tmillenaar made their first contribution in #63
Full Changelog: v0.3.1...v0.3.2
v.0.3.1: bug fix release
- Fixes left over UTF8 string encoding issue from Python 2 to 3 transition. This was causing an error when reading a casa table.
- Update implementation of various cached properties
Full Changelog: v0.3.0...v0.3.1
v0.3.0
What's Changed
- Fix no clipping when source density is high by @HannoSpreeuw in #8
- Try ray for multithreaded kappa sigma clipping of subimages by @HannoSpreeuw in #12
- Fix runtimewarnings from nosetests. by @HannoSpreeuw in #10
- Faster interpolation than scipy.ndimage.map_coordinates for the linear case. by @HannoSpreeuw in #14
- Accelerate label islands by @HannoSpreeuw in #15
- Unit tests failed because of grid.shape=(1,1) for a number of these tests. by @HannoSpreeuw in #16
- Kappa sigma clipping using dask by @HannoSpreeuw in #13
- Parallel fitting by @HannoSpreeuw in #17
- Parallel fitting by @HannoSpreeuw in #18
- Migrate CI to GitHub Actions by @jdswinbank in #19
- Use newer version of kernsuite by @jdswinbank in #20
- Don't store data in Git LFS. by @jdswinbank in #22
- Fudge max pix and maximum pixel method variance should only be called once per image by @HannoSpreeuw in #25
- Make PySE run on multiple cores and fix a bug in the clipping algorithm. by @HannoSpreeuw in #28
- Timing individual modules is redundant in production code. by @HannoSpreeuw in #31
- This should enable a correct import of MutableMapping. by @HannoSpreeuw in #37
- Add dask to setup by @HannoSpreeuw in #38
- Added cmp function by @HannoSpreeuw in #39
- This should enable a pytest based CI by @HannoSpreeuw in #41
- Clean up package build by @suvayu in #48
New Contributors
- @jdswinbank made their first contribution in #19
- @suvayu made their first contribution in #48
Full Changelog: v0.2.2...v0.3.0