diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0c98b6efa..ff94d1fcc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -39,7 +39,7 @@ else() find_package(ISMRMRD 1.4.2 REQUIRED) # Add ISMRMRD to search path for FFTW3 set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${ISMRMRD_DIR}") - find_package(FFTW3 COMPONENTS single REQUIRED) + find_package(FFTW3 COMPONENTS single double threads REQUIRED) ADD_SUBDIRECTORY(xGadgetron) set(SIRF_BUILT_WITH_ISMRMRD TRUE PARENT_SCOPE) set(ISMRMRD_VERSION ${ISMRMRD_VERSION} PARENT_SCOPE) diff --git a/src/Registration/cReg/NiftyAladinSym.cpp b/src/Registration/cReg/NiftyAladinSym.cpp index 84793f82c..79e8832b7 100644 --- a/src/Registration/cReg/NiftyAladinSym.cpp +++ b/src/Registration/cReg/NiftyAladinSym.cpp @@ -33,7 +33,11 @@ limitations under the License. #include "sirf/Reg/NiftiImageData3D.h" #include "sirf/Reg/NiftiImageData3DDeformation.h" #include "sirf/Reg/NiftiImageData3DDisplacement.h" +// Compatibility with NiftyReg builds where _reg_aladin.h still references +// InputTransform while only TransformationMatrix is declared. +#define InputTransform TransformationMatrix #include <_reg_aladin_sym.h> +#undef InputTransform using namespace sirf; diff --git a/src/xGadgetron/cGadgetron/FourierEncoding.cpp b/src/xGadgetron/cGadgetron/FourierEncoding.cpp index 161de4656..98af3a320 100644 --- a/src/xGadgetron/cGadgetron/FourierEncoding.cpp +++ b/src/xGadgetron/cGadgetron/FourierEncoding.cpp @@ -154,6 +154,7 @@ void sirf::CartesianFourierEncoding::forward(MRAcquisitionData& ac, const CFImag int kz = nz/2 - kz_lim.center + acq.idx().kspace_encode_step_2; for (unsigned int c = 0; c < nc; c++) { +#pragma omp parallel for for (unsigned int s = 0; s < nx; s++) { acq.data(s, c) = ci(s, ky, kz, c); } @@ -212,6 +213,7 @@ void sirf::CartesianFourierEncoding::backward(CFImage& img, const MRAcquisitionD int z = nz/2 - kz_lim.center + acq.idx().kspace_encode_step_2; for (unsigned int c = 0; c < nc; c++) { +#pragma omp parallel for for (unsigned int s = 0; s < readout; s++) { ci(s, y, z, c) += acq.data(s, c); }