CCPPETMR SIRF v2.0.0
evgueni-ovtchinnikov
released this
14 May 13:32
·
1795 commits
to master
since this release
- Set CMake policy CMP0079.
- Use
swig_add_library
instead ofswig_add_module
. - Averaging of rigid transformation matrices via quaternions (and therefore a quaternion class).
- Arrays of SIRF objects can be passed from the Python and Matlab interfaces to the C++ level (e.g., averaging a large number of matrices) via the DataHandleVector class. This is an internal class that should not be used. Simply pass a native array of objects and SIRF will convert to the DataHandleVector class if necessary.
- Image data role checks in MRAcquisitionModel introduced.
- Corrected ISMRMRD acquisition sorting.
- Added PhysioInterpolationGadget and FatWaterGadget to SIRF gadgets library.
- Wrapping of NiftyReg to allow registration/resampling in SIRF.
- Implemented new
ImageData
hierarchy common to PET and MR.ImageData
contain geometrical info. - MR/Gadgetron
- Added default constructor and set_up to MRAcquisitionModel
- Implemented sorting of MR images
- Implemented reading of MR acquisition data from ISMRMRD file
- PET/STIR
- projectors can now handle subsets (although with a somewhat ugly work-around)
- added FBP2D, SSRB and the Parallel Level Sets prior
- added TOF bins dimension to
PETAcquisitionData
(still fixed to have size 1)
- C++ changes
- Removed
using
statements from the C++ header files - Created namespace
sirf
- include files are now moved to subdirectories (such as
include/sirf/common
). - Modified ObjectHandle type so that it can handle both
std::shared_ptr
andboost::shared_ptr
.
- Removed
- Python/MATLAB:
petmr_data_path
is now obsolete. Useexamples_data_path
instead.
- Python:
- everything is now in a
sirf
module. Use for instanceimport sirf.Gadgetron
- everything is now in a
- Matlab:
- in keeping with changes to c++ and python, classes are now called with e.g.,
sirf.STIR.obj
instead ofmSTIR.obj
. Aliases can be used to shorten this (e.g.,PET=set_up_PET()
and thenPET.obj
).
- in keeping with changes to c++ and python, classes are now called with e.g.,
- CMake:
- Updated minimum required version of CMake to 3.9.0.