Published May 20, 2021
| Version v3.0.0
Software
Open
CCP SyneRBI SIRF
Authors/Creators
- Ovtchinnikov, Evgueni1
-
Brown, Richard2
-
Pasca, Edoardo1
-
Mayer, Johannes3
-
da Costa-Luis, Casper O.4
-
Atkinson, David2
-
Kolbitsch, Christoph3
-
Efthimiou, Nikos
-
Gillman, Ashley5
-
Biguri, Ander2
-
Deidda, Daniel6
- Ehrhardt, Matthias J.7
-
Whitehead, Alexander C.2
-
Thomas, Ben2
-
Leek, Francesca2
-
Fardell, Gemma1
-
Thielemans, Kris2
- 1. UK Research & Innovation
- 2. University College London
- 3. Physikalisch-Technische Bundesanstalt (PTB)
- 4. King's College London
- 5. Commonwealth Scientific and Industrial Research Organisation, and University of Queensland
- 6. National Physical Laboratory (UK)
- 7. University of Bath
Description
New features
- PET
- Addition of
sirf.STIR.ScatterEstimationandScatterSimulationto allow (non-TOF) scatter estimation in PET - GE Signa PET/MR reading of listmode data, sinograms, normalisation and randoms support added.
- If STIR is at least version 5 or built from the master branch, Georg Schramm's parallel (computing) projector is now made available from SIRF (use
AcquisitionModelUsingParallelproj). This uses Joseph interpolation, but importantly can use your GPU (if CUDA was found during building). - Implemented extraction of the operator representing the linear part of PET acquisition model and computation of its norm.
- When adding a shape to a
sirf.STIR.ImageData, optionally give the number of times to sample a voxel. This is useful when the shape partially - but not completely - fills a voxel. - If
storage_schemeis set tomemory,PETAcquisitionDataallows direct modification, whereas before a copy would need to be created first. (Internally, it uses STIRProjDataInMemory, instead ofProjDataFromStream).
- Addition of
- Registration
- Registration of 2d images is now supported with aladin and f3d.
- examples data:
- Installs
examples,dataanddocto the install directory, i.e.${CMAKE_INSTALL_PREFIX}/share/SIRF-<version_major>.<version_minor>directory. - If the
SIRF_DATA_PATHenvironment variable is set,examples_data_pathwill search for the examples data there, or inSIRF_INSTALL_PATH/share/SIRF-<version_major>.<version_minor>/datadirectory. In MATLAB, theexample_data_pathfunction has the version set by CMake at install time.
- Installs
- Other Python features:
- Define
__version__insirfpython package. - Added implementation of division and multiplication for
NiftiImageData. - Data validity checks return
NotImplementedinstead of throwing error, opening the door for future implementations of operations on data.
- Define
- STIR version 4.1.0 is now required.
- Python 2 is no longer supported. Most code might still work, but we do not check. A warning is written when the Python version found is 2. This will be changed to
FATAL_ERRORat a later stage. - Handling of coil images and sensitivities in C++ code simplified by inheriting CoilImagesVector from GadgetronImagesVector and replacing CoilSensitivitiesAsImages with CoilSensitivitiesVector, also inheriting from GadgetronImagesVector. All methods of CoilImagesVector and CoilSensitivitiesVector other than those inherited from GadgetronImagesVector are no longer supported except methods named compute(), which are renamed to calculate().
Registration: renamedResampletoResamplerandNiftyResampletoNiftyResampler. Old names are now deprecated but should still work.- STIR
AcquisitionModelforward,direct,backwardandadjointsignatures have changed in Python. Subset information should now be set vianum_subsetsandsubset_nummembers.Theforwardandbackwardmembers can still be called with the previous syntax but this will be removed in a later version. Note that default values ofnum_subsetsandsubset_num` are 0 and 1 respectively, such that default behaviour is default behaviour (i.e. process all data) is unchanged. - MR acquisition data storage scheme restricted to memory only (a message will be printed but no error thrown)
- Use CMake variable names from
find_package(Python)which are available with CMake 3.12+. SIRF CMake files will accept bothPython_EXECUTABLEorPYTHON_EXECUTABLE, for the latter it will send a deprecation warning.
- When registering, internally the forward displacement is no longer stored, replaced by the forward deformation. The inverse is no longer stored, and is calculated as needed.
PETAcquisitionData.axpbynow uses STIR'saxpbyand is therefore faster.- Speed-up in
stir::AcquisitionDataInMemoryofas_array,fill,dot,norm, etc. (by using STIR iterators). - Added common Python
DataContaineralgebra unit tests for allDataContainerinherited classes. - Continuous Integration now uses Github Actions. Travis-CI has been dropped.
- New
CMakeoptionBUILD_DOCUMENTATIONto use doxygen to build C++ documentation. It will be installed in theshare/SIRF-version/doc/doxygen.
- Python
fillmethod in MRDataContaineracceptsnumpyarray, number orDataContainer. get_index_to_physical_point_matrix()returned a wrong matrix in MATLAB and Python.- path manipulation of
examples_data_pathnow should work for any platform, not just linux.
Files
SyneRBI/SIRF-v3.0.0.zip
Files
(915.0 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:fc85f0eb413628168fb1af8f218c744b
|
915.0 kB | Preview Download |
Additional details
Related works
- Documents
- 10.1016/j.cpc.2019.107087 (DOI)
- 10.1109/NSSMIC.2017.8532815 (DOI)