- 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.
- Various bug fixes and corrections
BUILD_STIR_WITH_OPENMP
is nowON
by default- Gadgetron data processors check for Gadgetron server crash
- More data files in
SIRF/data/examples/MR
- Grayscale plotting enabled
- Created a python
sirf
package (recommended way of importing)- aliased
p(Gadgetron|STIR|Utilities) -> sirf.(Gadgetron|STIR|Utilities)
- added
setup.py
- exposed cmake variable
PYTHON_STRATEGY
. Options:PYTHONPATH
: prefix$PYTHONPATH
(default)SETUP_PY
: execute${PYTHON_EXECUTABLE} setup.py install
CONDA
: do nothing
- aliased
- Added
PYTHON_DEST_DIR
variable, which allows the user to select the install destination of the SIRF python modules.PYTHON_DEST_DIR
is a cached variable which can be updated on the GUI. IfPYTHON_DEST_DIR
is not set, we will install in${CMAKE_INSTALL_PREFIX}/python
. Likewise forMATLAB_DEST_DIR
. - Some improvements to the demos. Note that PET reconstruction demos have somewhat different parameters.
- Implemented PLS Prior
- Implemented 2D Filtered Back Projection
- Access to all MR images and acquisition parameters
- All 8 file IO available (PET: Interfile, MR: HDF5)
- PET
- PETAcquisitionData object creation from scanner name and parameters
- ListmodeToSinograms converter class, also estimating randoms (from delayed coincidences)
- Normalization from ECAT8 (Siemens mMR) and attenuation image
- Build with OpenMP delivers stable and substantially accelerated performance
- More documentation
- Developer's Guide
- Doxygen inline documentation (available on CCP PETMR website)
- More tests (now run via CTest), for Python, Matlab and C++.
- Coverage reporting for Python tests done by ctest
- fixed version number and avoid confusing with wrong tag v0.9.1
- PET data algebra implemented
- Storage scheme (file/memory) management for acquisition data implemented
- Using single precision float Matlab and Python arrays now
- Argument validity checks introduced
- Consistent naming scheme for libraries and modules adopted
- Matlab tests added
- User Guide Appendix on advanced features added
- Storage scheme management
- Programming Gadgetron chains
- Specific versions of dependencies (ISMRMRD, Gadgetron, STIR, SIRF) in SuperBuild
- SuperBuild update for Virtual Machine
- first release