- Fixed issue with fix from #893 not getting included in the 0.6.4 tag
- Fix astropy.coordinates import #893
- MNT: Clean up _astropy_init.py #892
- Find beam table from EXT name and CI fix #879
- bugfix in #885,#886 correcting an error introduced in #883
- CI fixes
- Fix memory issue when calling statistics() on FITS cubes. #752
- Cube mosaicing implemented #829, #844
- Varied bugfixes for numpy compatibility #858, #865, #883
- Many other small fixes & improvements that didn't get changelog entries
- Fix convolve_to when units are in Jy/beam. Add error/warnings for operations for all operations that change the spatial resolution for Jy/beam cubes.
- Add
argmax_world
andargmin_world
to return the argmin/max position in WCS coordinates. This is ONLY defined for independent WCS axes (e.g., spectral) #680 - Bugfix: subcube producing spatial offsets for large images #666
- Switch to using standalone casa-formats-io package for reading in CASA .image files (this was split out from spectral-cube). #684
- Make it possible to customize
target_chunksize
in the CASA reader. #705 - Fix support for dask.distributed. #712
- Bugfix: PhysicalType are now strings. #709
- Bugfix: subcubes from compound regions previously did not work. #601
- Bugfix: VaryingResolutionSpectralCube.mask_channels now preserves previous mask. #620
- Refactor tests to use fixtures for accessing data instead of needing to run a script to generate test files. #598
- Refactor package infrastructure to no longer use astropy-helpers. #599
- Switch to using unified I/O infrastructure from Astropy. #600
- Bugfix: fix slicing of cubes with mask set to None. #621
- Refactor CASA I/O to use dask to access the array/mask data directly and to use only Python and Numpy to access image metadata. CASA images can now be read without CASA installed. #607, #609, #613
- Add new dask-friendly classes
DaskSpectralCube
andDaskVaryingResolutionSpectralCube
which use dask to efficiently carry out calculations. #618 - Add new
statistics
method onDaskSpectralCube
which allows several global statistics to be computed by loading each cube chunk only once. #663
- Added support for casatools-based io in #541 and beam reading from CASA images in #543
- Add support for
update_function
in the joblib-based job distributor in #534- Add tests for WCS equivalence in reprojected images in #589
- Improve error messages when CASA files are read incorrectly in #584
- fix a small bug in matplotlib figure saving in #583
- Allow for reading of beamless cubes in #582
- Add support for 2d world functions in #575 and extrema in #552
- Handle kernels defined as quantities in smoothing in #578
- Fix bug with NPOL header keyword in #576
- Convolution will be skipped if beans are equal-sized in #573
- Fix one-D sliceing with no beam in #568
- Paralellization documentation improvement in #557
- Astropy-helpers updated to 2.0.10 in #553
- Fixed some future warnings in #565
- Added a new documentation example in #548
- Added channel map making capability in #551
- Fix warnings when beam is not defined in #561
- Improvment to joblib parallelization in #564
- Add ppbeam attribute to lower-dimensional objects #549
- Handle CASA file beams in #543 and #545
- Add support for CASA reading using casatools (casa6) in #541
- Bugfix for slicing of different shapes in #532
- Fixes to yt integratino in #531
- Add unmasked_beams attribute and change many beams behaviors in #502
- Bugfix for downsampled WCS corners in #525
- Performance enhancement to world extrema in #524
- Simplify conversion from CASA coordsys to FITS-WCS #593
- Add chunked file reading for CASA .image opening #592
- Dropped python 3.5 testing in #592
- Refactor all beam parameters into mix-in classes; added BaseOneDSpectrum for common functionality between OneDSpectrum and VaryingResolutionOneDSpectrum. Retain beam objects when doing arithmetic with LDOs/ (#521)
- Refactor OneDSpectrum objects to include a single beam if they were produced from a cube with a single beam to enable K<->Jy conversions (#510)
- Bugfix: fix compatibility of to_glue with latest versions of glue. (#491)
- Refactor to use regions instead of pyregion. Adds CRTF support (#488)
- Direct downsampling tools added, both in-memory and memmap (#486)
- Refactor spectral smoothing tools to allow parallelized application and memory mapped output (to avoid loading cube into memory). Created
apply_function_parallel_spectral
to make this general. Addedjoblib
as a dependency. (#474)- Bugfix: Reversing a cube's spectral axis should now do something reasonable instead of unreasonable (#478)
- Bugfix and enhancement: handle multiple beams using radio_beam's multiple-beams feature. This allows convolve_to to work when some beams are masked out. Also removes
cube_utils.average_beams
, which is now implemented directly in radio_beam (#437)- Added a variety of stacking tools, both for stacking full velocity cubes of different lines and for stacking full spectra based on a velocity field (#446, #453, #457, #465)
- Add SpectralCube.with_beam and Projection.with_beam for attaching beam objects. Raise error for position-spectral slices of VRSCs (#433)
- Raise a nicer error if no data is present in the default or selected HDU (#424)
- Check mask inputs to OneDSpectrum and add mask handling for OneDSpectrum.spectral_interpolate (#400)
- Improve exception if cube does not have two celestial and one spectral dimesnion (#425)
- Add creating a Projection from a FITS HDU (#376)
- Deprecate numpy <=1.8 because nanmedian is needed (#373)
- Add tools for masking bad beams in VaryingResolutionSpectralCubes (#373)
- Don't warn if no beam was found in a cube (#422)
- Handle equal beams when convolving cubes spatially. (#356)
- Whole cube convolution & reprojection has been added, including tools to smooth spectrally and spatially to force two cubes onto an identical grid. (#313)
- Bugfix: files larger than the available memory are now readable again because
spectral-cube
does not encourage you to modify cubes inplace (#299)- Cube planes with bad beams will be masked out (#298)
- Added a new cube type, VaryingResolutionSpectralCube, meant to handle CASA-produced cubes that have different beams in each channel (#292)
- Added tests for new functionality in OneDSpectrum (#277)
- Split out common functionality between SpectralCube and LowerDimensionalObject into BaseNDClass and SpectralAxisMixinClass (#274)
- added new linewidth_sigma and linewidth_fwhm methods to SpectralCube for computing linewidth maps, and make sure the documentation is clear that moment(order=2) is a variance map. (#275)
- fixed significant error when the cube WCS includes a cd matrix. This error resulted in incorrect spectral coordinate conversions (#276)
- Bugfix in configuration
- Preserve metadata when making projections (#250)
- bugfix: cube._data cannot be a quantity (#251)
- partial fix for ds9 import bug (#253)
- preserve WCS information in projections (#256)
- whitespace stripped from BUNIT (#257)
- bugfix: sometimes cube would be read into memory when it should not be (#259)
- more projection preservation fixes (#265)
- correct jy/beam capitalization (#267)
- convenience attribute for beam access (#268)
- fix beam reading, which would claim failure even during success (#271)
- Add experimental line-finding tool using astroquery.splatalogue (#210)
- Bugfixes (211,212,217)
- Add arithmetic operations (add, subtract, divide, multiply, power) (#220). These operations will not be permitted on large cubes by default, but will require the user to specify that they are allowed using the attribute
allow_huge_operations
- Implemented slicewise stddev and mean (#225)
- Bugfix: prevent a memory leak when creating a large number of Cubes (#233)
- Provide a
base
attribute so that tools like joblib can operate onSpectralCube
s as memory maps (#230)- Masks have a quicklook method (#228)
- Memory mapping can be disabled (#226)
- Add xor operations for Masks (#241)
- Added a new StokesSpectralCube class to deal with 4-d cubes (#249)
- Output mask as a CASA image #171
- ytcube exports to .obj and .ply too #173
- Fix air wavelengths, which were mistreated (#186)
- Add support for sum/mean/std over both spatial axes to return a OneDSpectrum object. This PR also removes numpy 1.5-1.7 tests, since many spectral_cube functions are not compatible with these versions of numpy (#188)
- CASA cube readers now compatible with ALMA .image files (tested on Cycle 2 data) #165
- Spectral quicklooks available #164 now that 1D slices are possible #157
- to_pvextractor tool allows easy export to pvextractor #160
- to_glue sends the cube to glue #153
- moments preserve spectral units now #118
- Initial support added for Air Wavelength. This is only 1-way support, round-tripping (vacuum->air) is not supported yet. #117
- Integer slices (single frames) are supported #113
- Bugfix: BUNIT capitalized #112
- Masks can be any array that is broadcastable to the cube shape #115
- Added .header and .hdu convenience methods #120
- Added public functions apply_function and apply_numpy_function that allow functions to be run on cubes while preserving important metadata (e.g., WCS)
- Added a quicklook tool using aplpy to view slices (#131)
- Added subcube and ds9 region extraction tools (#128)
- Added a to_yt function for easily converting between SpectralCube and yt datacube/dataset objects (#90, #129)
- Masks' .include() method works without
data
arguments. (#147) - Allow movie name to be specified in yt movie creation (#145)
- add flattened_world method to get the world coordinates corresponding to each pixel in the flattened array (#146)
- Initial Release.