You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Method readSize() of ImageHdu and ImageRaster was wrong for N != 2
BintableColumns::initSeq() was ill-formed for non-tuple sequences
Fixed BintableColumns::readSegmentSeq() with unresolved bound (-1)
Breaking changes
Updated to Elements 6.0.1
Raster<T, N> becomes Raster<T, N, TContainer> to work with any contiguous container
(with PtrRaster<T, N> = Raster<T, N, T*> and VecRaster<T, N> = Raster<T, N, vector<T>>)
ColumnInfo<T> becomes ColumnInfo<T, N> and variable repeatCount becomes method repeatCount()
to support multidimensional entries
Column<T> becomes Column<T, N, TContainer>
to support multidimensional entries and to work with any contiguous container
(with PtrColumn<T, N> = Column<T, N, T*> and VecColumn<T, N> = Column<T, N, vector<T>>)
PtrColumn(info, elementCount, data) becomes PtrColumn(info, rowCount, data) for homogeneity with VecColumn
Refactoring
Raster, Column and Position inherit DataContainer (see below)
PtrRaster, VecRaster, PtrColumn and VecColumn are now mere aliases
Methods which took a Raster& or Column& as parameter now accept any type which fullfills Raster or Column requirements
All DataContainers fulfill the standard ContiguousContainer requirements (e.g are iterable)
All DataContainers have vector space arithmetic (e.g. support +, -, *, /)
DataContainer::apply() and DataContainer::generate() enable arbitrary element-wise transforms,
including with other DataContainers as arguments
ColumnInfo has a member shape in lieu of repeatCount to support multidimensional entries
Column::entry() returns a view as a PtrRaster for multidimensional columns
Column::elementCount() is deprecated and replaced with standard size()
MefFile method names have been standardized (old names are kept for backward compatibility but deprecated)
VecRaster::vector() and VecColumn::vector() are deprecated (use container() instead, which performs no copy)
Named and Indexed are deprecated (use maker function as())
Other new features
Header units and data units can be accessed directly from a MefFile
(e.g. access<ImageRaster>(1) is a shortcut for access<ImageHdu>(1).raster())
Multi-dimensional columns are supported
Empty binary table HDUs can be created
FileMode::Write added to edit an existing file or create a new one
Added BintableColumns::readSeq() overloads for homogeneous sequences (returns std::vector<VecColumn<T>>)
Record and DataContainers support operator<<()
New method FitsFile::handoverToCfitsio() returns the CFITSIO's fitsfile*
New "Game of Life" example demonstrates the use of slicing
Optimization and cleaning
Access to raster and column elements is notably faster
Many similar code blocks have been merged (e.g. through mixins)
Several overloads have been merged (e.g. with ColumnKey and TypedKey)