Changes
-
Python interface
-
Performance of acquisitions and images data algebra improved, acquisitions algebra running up to 3 times faster and images algebra up to 15 times faster.
-
DataContainer.supports_array_viewto test for zero-copy compatibility. -
ImageDataandAcquisitionDatahave.asarray()in Python via__array_interface__, following the same conventions as NumPy 2.x.By default,
asarray()provides a "view" if possible (seesupports_array_view) and falls back to a deep copy otherwise. Copy can be disabled or forced by setting thecopyargument accordingly. (For NumPy 1.x, thecopyargument is not supported and the behaviour is the same as the default in NumPy 2.x).
Note that withcopy=False, modifying the returned NumPy array will modify the original SIRF data as well.asarray(copy=True)is equivalent toas_array(). The latter will be removed in a future version.
-
-
SIRF/STIR
-
ScatterEstimationhas extra methods that allow setting masks for the tail-fitting. -
ImageDatahas extra method to zoom image using information from a template image,zoom_image_as_template. -
Error raised in
AcquisitionSensitivityModel.[un]normalisemethods applied to a read-only object. -
SIRF interfaces (C++ and Python) for STIR Poisson noise generation utilities provided.
-
Python:
- allow in-place call of
ObjectiveFunctiongradientin Python. Added unit test for new functionality ingradientand for theoutparameter. ImageDataandAcquisitionDataInMemoryhavesupports_array_view==True
- allow in-place call of
-
-
SIRF/Gadgetron
ImageDataViewandAcquisitionDataViewclasses implemented that encapsulate arrays of NumPy views ofISMRMRD_ImageDataandISMRMRD_AcquisitionDataobjects respectively, significantly accelerating the algebraic operations (up to a factor of about 10 for images).
-
SIRF/Registration
- Nifty images have
supports_array_view==True
- Nifty images have
-
CI and testing
- made tests return value handling compatible with a future version of pytest.
- added algebraic tests for STIR AcquisitionData subsets.