Releases: CNES/EleFits
Releases · CNES/EleFits
5.3.0
5.0.0
5.0.0
Bug fixes
- Function
shapeSize()
was wrong forN = 0
- Method
readSize()
ofImageHdu
andImageRaster
was wrong forN != 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>
becomesRaster<T, N, TContainer>
to work with any contiguous container
(withPtrRaster<T, N> = Raster<T, N, T*>
andVecRaster<T, N> = Raster<T, N, vector<T>>
)ColumnInfo<T>
becomesColumnInfo<T, N>
and variablerepeatCount
becomes methodrepeatCount()
to support multidimensional entriesColumn<T>
becomesColumn<T, N, TContainer>
to support multidimensional entries and to work with any contiguous container
(withPtrColumn<T, N> = Column<T, N, T*>
andVecColumn<T, N> = Column<T, N, vector<T>>
)PtrColumn(info, elementCount, data)
becomesPtrColumn(info, rowCount, data)
for homogeneity withVecColumn
Refactoring
Raster
,Column
andPosition
inheritDataContainer
(see below)PtrRaster
,VecRaster
,PtrColumn
andVecColumn
are now mere aliases- Methods which took a
Raster&
orColumn&
as parameter now accept any type which fullfillsRaster
orColumn
requirements - All
DataContainer
s fulfill the standardContiguousContainer
requirements (e.g are iterable) - All
DataContainer
s have vector space arithmetic (e.g. support+
,-
,*
,/
) DataContainer::apply()
andDataContainer::generate()
enable arbitrary element-wise transforms,
including with otherDataContainer
s as argumentsColumnInfo
has a membershape
in lieu ofrepeatCount
to support multidimensional entriesColumn::entry()
returns a view as aPtrRaster
for multidimensional columnsColumn::elementCount()
is deprecated and replaced with standardsize()
MefFile
method names have been standardized (old names are kept for backward compatibility but deprecated)VecRaster::vector()
andVecColumn::vector()
are deprecated (usecontainer()
instead, which performs no copy)Named
andIndexed
are deprecated (use maker functionas()
)
Other new features
- Header units and data units can be accessed directly from a
MefFile
(e.g.access<ImageRaster>(1)
is a shortcut foraccess<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 (returnsstd::vector<VecColumn<T>>
) Record
andDataContainer
s supportoperator<<()
- New method
FitsFile::handoverToCfitsio()
returns the CFITSIO'sfitsfile*
- 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
andTypedKey
) - Legal notices have been reviewed
- Formatting has been reviewed
- This change log was added to Doxygen pages
4.0.1
4.0.0
4.0.0 - First public release
After years of intra-Euclid development, here is the first public release of EleFits!
Jump to the documentation and enjoy!
Any feedback welcome ;-)