[SyneRBI/SIRF] PET/MR Simulation (#1007)

18 views
Skip to first unread message

Johannes Mayer

unread,
Aug 27, 2021, 5:48:49 AM8/27/21
to SyneRBI/SIRF, Subscribed

PET/MR Simulation Framework for Dynamic Data including Ground Truth information.


You can view, comment on, or merge this pull request online at:

  https://github.com/SyneRBI/SIRF/pull/1007

Commit Summary

  • added constructor to CoilensitivtitesVector
  • Merge branch 'img-from-rawdata' into petmr-simulation
  • deleted old encoding files
  • Deleted use getter for sptr_acquisitions
  • Renamed folder Testing into tests
  • Deleted main file
  • Modified cmake file to new strucutre
  • Updating contrast generator to current classes
  • Adapted contrast generator to curretn image classes
  • Replaced sptr access to acquisitoins
  • Updated copyright statements
  • Corrected Typos
  • deleted comments
  • deleted using namespace in .h file
  • Corrected Typos and updated email addresses
  • Added suggested sourcing of sirf_env to github workflow
  • Switched re-running of testdata back to on to see if exe will run
  • Revert "Added suggested sourcing of sirf_env to github workflow"
  • Renamed fourierencoding and trajectorypreparation
  • had to switch the running of the exe off again
  • Renamed noncartesian_encoding files
  • Merge branch 'rpe-encoding' into petmr-simulation
  • Updated Changes.md
  • Merge branch 'rpe-encoding' into petmr-simulation
  • Resolved problem with resampler output
  • Renamed resample to resampler
  • Corrected false calls to members
  • Updated calls in PETContrastGenerator::resample_to_template_image again
  • Fixed old calls in noise generator
  • Deleted some comments
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Merge branch 'img-from-rawdata' into petmr-simulation
  • Made the branch build
  • Added test directory to build in cmake
  • deleted inclusion of input filenames
  • Giving simulation test access to mr test auxiliary functions
  • Modified contrast generator tests
  • added noise generator tests
  • Deleted tests for memory usage
  • Fixed tests
  • Added better structure for test main
  • deleted simulation test headers
  • Updated first test with try cathc block
  • Fixed mock acquisitions vector test
  • Corrected modified shared folder path
  • Changed testfiles input
  • Added counter in std coutput of tests
  • Deleted function to read acquisitions that is in the vector calss already
  • Changed output folder
  • Added auxiliary input tests -> pass
  • Added tissue parameter tests to succeess
  • started tests for contrastgenerator
  • changed parameters of tissue label mapper tests
  • cont gen test improvement
  • changed header setter of mr contgen
  • Merge branch 'img-from-rawdata' into petmr-simulation
  • Corrected segfault for mr cont gen
  • corrected call to csm constr
  • changed tests to stop printing the test number
  • tests contgen now print the tset name
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Corrected include path of mr auxiliary function header for tests
  • Added interface for MRrawdata to cont gen
  • deleted some spaces lines
  • Updated tests for tissue parameters
  • Updated test input filenames
  • formatted tests
  • Updated contrast generator tests to run with new rawdata interface
  • Changed cf image vector writer to be able to use a path in prefix
  • Calling sorting after reading in kspace data
  • Deleted unnecessary code
  • Updated contgen tests to write to shared folder
  • Changed output testpath
  • Fixed pet writer in cont gen tests
  • corrected tests for wrong gyromagn. moment in ref data computation
  • Added tests for phantom input
  • deleted old pahntom reader except for nifti interface
  • included forgotten header
  • Updated tests
  • changed temporary folder name
  • Fixed dyanmics test
  • changed output of contgen tests
  • fixed noise generator tests
  • Running tests except deformer and simulation
  • Updated tests for dynsim deformer
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Updated dynsimdeformer class and tests
  • Merge branch 'update-img-constructor' into petmr-simulation
  • Added reorienting to MR data deformer
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Deleted size output
  • Deactivated all tests except reorienting
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Added test in python for iamge geometry
  • Modified tests to write the nii files correctly
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into fix-mr-geometry
  • Added test for reorientation of mr images
  • Calculates MR geometry less wrong for stacks of 2D slices
  • Changed GeometricalInfo::operator==() to allow flaot comparison
  • Merge branch 'fix-mr-geometry' into petmr-simulation
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Changed reorient and set_up_geom_info
  • Added 3D reorientation test with bad test data path
  • Revert "Added 3D reorientation test with bad test data path"
  • Merge branch 'fix-mr-geometry' into petmr-simulation
  • Reorienting PET images prior to deformation with mvfs
  • Running all simulation tests
  • Switched off reorientation of PET images
  • Made PET images move by copying resampler output
  • Renamed test
  • deleted test of memory management
  • Renamed methods
  • commented in dynamic simulation methods
  • formatted tests
  • Formatted tests
  • moved add_dynamics and write_groundtruth to abstract claass
  • Deleted old simulation
  • Deleted filename interface for simulation
  • Using all tests now
  • Corrected interface
  • Restructured tests
  • Switched to coilsensitvitiesvector in mock gaussian csm aux fun
  • Corrected fallout from changing CSM mock type
  • Changed interface of noise generator
  • Switched to having a sptr-instance of acquisition data to store simulation data into
  • Changed sett interface to shared ptr
  • Changed interface of dynamics intersect data
  • Switched to all sptrs in dyn sim
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into fix-mr-geometry
  • Forgot to save before commit merge
  • Edited some comments
  • Added random parameters for reorientation test
  • Changed input files for python reorientation test
  • Updated comment
  • Reordered setup steps for 2D mr image
  • Modified output data path
  • Merge branch 'fix-mr-geometry' into petmr-simulation
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into fix-mr-geometry
  • Updated test to store data incorrect location
  • Added files to reconstruct simulation output
  • Fixed position computation of 2D MR images
  • Cleaned mr cpp tests [ci skip]
  • Modified MR dicom python test
  • Scales output image before writing dicom in test
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into fix-mr-geometry
  • Merge branch 'fix-mr-geometry' into petmr-simulation
  • Implemented python tests for simulation in CMake
  • Added Python test to recon simulation test output
  • Updated simulation function to work without motion dynamics
  • Changed interface of adding dynamics
  • Changed location of preprocess c++ function to gadgetron_x
  • Ensured ability to run multiple tests from the same file in python tests
  • Added statics and dynamic test for simulation
  • Mock signals now start at t=0
  • Added second test to recon dynamic simualtion test data
  • Renamed simulate_dynamics to simulate_data
  • Renamed simulate_dynamics to simulate_data
  • Added test to run simulation with
  • Added Python file for simulation and SWIG in CMAKE
  • CHanged # of motion states in 5d motion test
  • added pysimulation package to aliasing
  • Added time sorting to mock sawtooth signal
  • Fixed 5D motion bug
  • Added recon of 5D test output
  • Changed name of interface funtion for dyn sim construcotr
  • Got working Python constructor for simulation
  • Wrapped setter for template acquisitions
  • Updated test for recon of simulation data
  • Wrapped everything necessary for a static simulation
  • Modified test to simulate static random tissues
  • Added single dvf addition to motion dynamics
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Included stddef header to allow size_t defines
  • Switched location of the header for size_t declaration
  • Added test for MR simulations in python
  • Deleted test for individual mr simulations
  • Continued wrapping of dynamics
  • Renamed aMRDynamic to MRDynamic
  • Changed interface of bin_mr_acquisisionts
  • Wrappend binning of acuisitions
  • Fixed bug
  • Updated test to pass sources for dvf correctly
  • Got running test for dyn mo sim but output is empyt
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Added constness of passed surrogate signal to setter
  • fixed type for setting up surrogate signal
  • fixed typoe error after merge
  • extended mr simulation test
  • Added test for c-interface from C++
  • changed bin number to type unsinged
  • Added getter for num ber of signal points in python
  • Added test for setter for dynamic signal
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Took care of merge fallout
  • Renamed aPETDynamic to PETDynamic
  • Added signal and bin processors
  • Deleted uncesseray method
  • Switched tests to test processors
  • Shifted whole functionality of dynamic into new class
  • Updated method name
  • Updated method name
  • Updated dynamics classes
  • Renamed the motoin dynamics to processors
  • COntinued change of interface
  • Changed namespaces for dynamcis test
  • did nothing practically
  • New dynamic interface
  • Brougth new interface to compile
  • Updated python to new inheritance scheme
  • fixed segfault by making methods virtual
  • Updated tests to write niftis
  • Renamed for recon to run after smuilation
  • Deleted redundant function
  • deleted comment blocks
  • Added storing of GT to python tests
  • Added C test to convert input data from h5 into nii
  • Added example for patientdata simulation
  • Extended example to recon data on the fly
  • Renamed variable in python test
  • Finalised 3D cartesian example
  • Switched to time unit of secodns
  • udpated tests
  • Renamed variabels with time unit suffix
  • Switched to settingg dynamics rawdata inside the simulation
  • Updated test
  • Added some comments to clarify function outcome
  • added dynsim deformer memeber to simulation
  • Enabled setting template image in deformer
  • Deleted access to setter of rawdata for dynamics
  • Differentiation between acquisition and contrast rawdata
  • Corrected segfault for wrong calls in dynsim deformer
  • Updated test for new interface
  • Added setter for images in contrastgenerator
  • Added test for geometry and transfnormations for siulation data
  • Updated simualtion example to work with diff sets of acquisition data
  • Added shift in z-direction to transformations during rawdata acquiistion
  • Compute CSM based on acquisition template rawdata
  • Swtiched to affine transform to compute offset in dynsim deformer
  • Added interface to pass external affine trafo to simultion
  • Merge branch 'master' of https://github.com/SyneRBI/SIRF into petmr-simulation
  • Changed arguments to be passed correctly
  • Merge branch 'fix-afftrafo-constructor' into petmr-simulation
  • Added formatter to make sure numpy arrays get passed correctly
  • Merge branch 'fix-afftrafo-constructor' into petmr-simulation
  • Fixed interface for passing offset trafo to simulation
  • Added euler parameters to python example
  • Deleted commented line

File Changes

Patch Links:


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Kris Thielemans

unread,
Aug 30, 2021, 4:25:52 AM8/30/21
to SyneRBI/SIRF, Subscribed

@KrisThielemans requested changes on this pull request.

some housekeeping comments to set you going :-)

Also, rename include/sirf/cDynamicSimulation to include/sirf/DynamicSimulation as for all the others


In .gitattributes:

> +src/xDynamicSimulation/cDynamicSimulation/Testing/tests_dynamicsimulation.h merge=ours
+src/xDynamicSimulation/cDynamicSimulation/Testing/tests_dynamicsimulation.cpp merge=ours
+src/xGadgetron/cGadgetron/gadgetron_data_containers.h merge=ours
+src/xGadgetron/cGadgetron/gadgetron_data_containers.cpp merge=ours

do we really need this? seems weird to keep it on master.


In .gitignore:

> @@ -1,6 +1,11 @@
 ## Ignore Visual Studio temporary files, build results, and
 ## files generated by popular Visual Studio add-ons.
 
+# CMake
+*.cmake

definitely not ignore those! We have them our own


In .gitignore:

> @@ -20,6 +25,14 @@ bld/
 [Bb]in/
 [Oo]bj/
 
+# CMake
+CMakeCache.txt
+CMakeFiles*

aargh. ignore CMakeFiles.txt ?

I think you're trying to ignore files because you did an "in-source" build, which isn't recommended in any case.


In .gitignore:

> @@ -20,6 +25,14 @@ bld/
 [Bb]in/
 [Oo]bj/
 
+# CMake
+CMakeCache.txt
+CMakeFiles*
+
+# Makefiles
+**/Makefile*

who knows, maybe we have some valid ones at some point


In README.md:

> @@ -1,3 +1,4 @@
+<<<<<<< HEAD

conflict marker


In README.md:

> @@ -34,6 +35,13 @@ what was found/built:
 
 [coveralls-badge]: https://coveralls.io/repos/github/CCPPETMR/SIRF/badge.svg?branch=master
 [coveralls]: https://coveralls.io/github/CCPPETMR/SIRF?branch=master
+<<<<<<< HEAD

here as well (and below)


In cmake/setup.py.cmake:

>        install(CODE "execute_process(COMMAND\n\
+<<<<<<< HEAD

conflict marker


In examples/Python/Simulation/cartesian_3D_simulation.py:

> @@ -0,0 +1,193 @@
+'''
+bla bla

maybe not


In examples/Python/Simulation/cartesian_3D_simulation.py:

> @@ -0,0 +1,193 @@
+'''
+bla bla
+
+Usage:
+cartesian_3D_simulation.py [--help | options]
+
+Options:
+--non-interactive           do not show plots
+'''
+
+## SyneRBI Synergistic Image Reconstruction Framework (SIRF).
+## Copyright 2015 - 2020 Rutherford Appleton Laboratory STFC.
+## Copyright 2015 - 2017 University College London.
+## Copyright 2015 - 2017 Physikalisch-Technische Bundesanstalt.

surely not


In examples/Python/Simulation/cartesian_3D_simulation.py:

> +	mvfs = read_motionfields(fpath_prefix)
+
+	for m in mvfs:
+		modyn.add_displacement_field(m)
+
+
+def get_normed_surrogate_signal(t0_s, tmax_s, Nt, f_Hz):
+
+	t_s = np.linspace(t0_s, tmax_s, Nt)
+	sig = 0.5 * (1 + np.sin( 2*np.pi*f_Hz*t_s))
+	return t_s, sig
+
+
+def main():
+
+	fpath_testdata_prefix = '/media/sf_CCPPETMR/TestData/'

will have to change


In examples/Python/Simulation/simulation_2D_subsampling.py:

> @@ -0,0 +1,156 @@
+'''
+bla bla

I guess everywhere


In src/CMakeLists.txt:

> @@ -151,4 +151,14 @@ else()
   endif()
 endif()
 
+##########################################################################
+#                              Simulation                                #
+##########################################################################
+option(DISABLE_Simulation "Disable building the SIRF simulation package" OFF)
+if (DISABLE_Simulation)
+  message(STATUS "Gadgetron support disabled.")

wrong message


In src/iUtilities/pyiutilities.py:

> +# This file was automatically generated by SWIG (http://www.swig.org).
+# Version 3.0.8

SWIG generated files should not be checked in


In src/xDynamicSimulation/CMakeLists.txt:

> +if (CMAKE_VERSION VERSION_LESS "3.1")
+   set (CMAKE_CXX_FLAGS "--std=c++11 ${CMAKE_CXX_FLAGS}")
+else ()
+   set (CMAKE_CXX_STANDARD 11)
+endif ()

can't see we need that in this file


In src/xDynamicSimulation/cDynamicSimulation/CMakeLists.txt:

> +if (SIRF_INSTALL_DEPENDENCIES AND WIN32)
+    set(Boost_DLL_DIR ${Boost_LIBRARY_DIR_RELEASE})
+    message(STATUS "Install boost shared libraries from ${Boost_DLL_DIR} ")
+	foreach (__boost_lib system filesystem thread date_time chrono)
+	   file(GLOB Boost_DLL "${Boost_DLL_DIR}/boost_${__boost_lib}*.dll")
+       install( FILES ${Boost_DLL} DESTINATION bin )
+	endforeach()
+  endif()

probably shouldn't be here


In src/xDynamicSimulation/cDynamicSimulation/CMakeLists.txt:

> @@ -0,0 +1,66 @@
+#========================================================================
+# Author: Johannes Mayer
+# Date: 15.03.2018
+#=========================================================================
+
+add_definitions(-DBOOST_ALL_NO_LIB)

probably shouldn't be here


In src/xDynamicSimulation/cDynamicSimulation/CMakeLists.txt:

> +include_directories(${PROJECT_SOURCE_DIR}/src/common/include)
+include_directories(${PROJECT_SOURCE_DIR}/src/xGadgetron/cGadgetron)
+include_directories(${PROJECT_SOURCE_DIR}/src/xSTIR/cSTIR)
+include_directories(${PROJECT_SOURCE_DIR}/src/Registration/Reg)
+include_directories(${PROJECT_SOURCE_DIR}/src/iUtilities)
+include_directories("${GADGETRON_INCLUDE_DIR}/../")

probably shouldn't be here as should be taken care of by target_link_libraries


In src/xDynamicSimulation/cDynamicSimulation/CMakeLists.txt:

> +# Note: cannot use ISMRMRD_LIBRARIES on Windows as it generally contains 
+# a list of filenames with spaces. There doesn't seem to be a way to pass this through (strange).
+# Luckily, we know what libraries it uses

delete


In src/xDynamicSimulation/cDynamicSimulation/auxiliary_input_output.cpp:

> @@ -0,0 +1,113 @@
+/* ================================================
+
+Author: Johannes Mayer
+Date: 2018.04.05
+Institution: Physikalisch-Technische Bundesanstalt Berlin

will need standard SIRF header with AL2 license etc


In src/xDynamicSimulation/cDynamicSimulation/cdynamicsimulation.cpp:

> @@ -0,0 +1,363 @@
+/*
+SyneRBI Synergistic Image Reconstruction Framework (SIRF)
+
+Copyright 2021 Physikalisch-Technische Bundesanstalt (PTB)

add yourself as author


In src/xDynamicSimulation/cDynamicSimulation/cdynamicsimulation.cpp:

> +// extern "C"
+// void*
+// cGT_ISMRMRDAcquisitionsFromFile(const char* file)
+// {
+// 	if (!file_exists(file))
+// 		return fileNotFound(file, __FILE__, __LINE__);
+// 	try {
+// 		shared_ptr<MRAcquisitionData>
+// 			acquisitions(new AcquisitionsVector);
+// 		acquisitions->read(file);
+// 		return newObjectHandle<MRAcquisitionData>(acquisitions);
+// 	}
+// 	CATCH;
+// }
+

delete

Johannes Mayer

unread,
Sep 1, 2021, 11:43:07 AM9/1/21
to SyneRBI/SIRF, Push

@johannesmayer pushed 27 commits.

  • c2638e9 Templatisation of gridder for arbitrary dimensions
  • de70a6d Templatized the trajectory prep
  • 9d2b7e8 Fixed wrong dimensionality bug for new rpe computation
  • c3dc16e Added trajectory prep for 2D linear radial acquisition
  • 128588d Wrapped 2D linear radial traj prep
  • 64e75a4 Added example for 2D radial encoding
  • 99e4565 Added backward for 2D radial operator
  • d50974a Added placeholder for radial dcw
  • f1fe8a3 Added 2D density compensation
  • 64c8afd Undid prints
  • dcb80ef Added interface to get a sorted trajectory instead of the order in the acquisition container
  • 1ad2588 Making sure that the getter gives you all trajectory points from python
  • 1c0a10c Implemented 2D stack of stars fwd and bwd
  • a855d51 Deleted old print
  • 4bf38b3 Added plotting of csm into 2d radial example
  • 5222253 Updated calls to trajectory prep for rpe
  • 634089e Deleted bad assert for 2d radial operation
  • 8859585 Added interface for radial examples to rpe script
  • 6836df0 Fixed bug in noncartesian sense example
  • 45d8a86 Moved radial examples all into noncartesian file
  • 4595857 Merge branch 'radial-2D-encoding' into petmr-simulation
  • 0a6bcdf Added reorientation of MR volumes into segmentation after contrast generation
  • ec149e3 Added resampling into template acquisition image without motionfields
  • dee2cef Making subset with the appropriate acuqisitions info
  • f43716b added some try_callings to catch exceptions
  • 9fb5267 Added special case to deformer when nothing moves
  • 7719651 Added radial option to simulation


You are receiving this because you are subscribed to this thread.

View it on GitHub or unsubscribe.

Johannes Mayer

unread,
Sep 6, 2021, 11:46:50 AM9/6/21
to SyneRBI/SIRF, Push

@johannesmayer pushed 14 commits.

  • 491e195 Fixed bug for 2D forward model for undersampled data
  • 1dc1fa1 Reverted unique z trajectory getter
  • 1654e5c wrote nonworking version of backward and forward
  • 19f7f6e Added more plots for noncartesian recon example
  • 9f025da Corrected backward methods for 2d radial
  • 1158824 Continued debugging 2d radial forward
  • d4a475c Added test for adjointness of radial 2d model
  • 066e23d Rewrote fwd and bwd
  • 7368d6d Copied img data content from getDataPtr instead of memcpy
  • ce73185 added function to extract slice encode step 2 subset index
  • 74d897b deleted virtual for definition of function
  • 6961887 Modified fordward to satisfy the adjointness test
  • 38cfd7c Commented in the MR tests
  • 64ba984 Merge branch 'radial-2D-encoding' into petmr-simulation


You are receiving this because you are subscribed to this thread.

View it on GitHub or unsubscribe.

Johannes Mayer

unread,
Nov 15, 2021, 5:59:42 AM11/15/21
to SyneRBI/SIRF, Push

@johannesmayer pushed 23 commits.


You are receiving this because you are subscribed to this thread.

View it on GitHub or unsubscribe.

Johannes Mayer

unread,
Jan 3, 2022, 8:16:14 AM1/3/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 30 commits.

  • 1c46c84 Added external contrast member to contrast generator
  • b83376c Made getter function const in tissue label mapper
  • 2511979 Wrote mock external signal generator
  • 6dc7443 Wrote test for external signal contrast mapping
  • 7f90d31 Provided interface to map signal based on external input in mr contrast
  • 34fbe0e Refactored motion-contrast simualtion loop
  • ad4e4e0 Added external contrast dynamics class
  • e282b0d did some whitespace/tabs cleanup
  • 9133b0b Added function to motiondynamics to get mvf at timepoint
  • 7eba8b3 Added test to run external contrast simulation on C++
  • c1d3593 Added compiling version of simulating external contrast signals
  • 9922df9 fixed bug for missing return
  • 819284f Added missing binning of external acquisitions
  • 984be53 Fixed problem of not finding binned acuqisitions
  • 6d17c46 Merge branch 'master' of https://github.com/SyneRBI/SIRF into add-ext-contrast
  • ce553ea Corrected accessing error on acquisition vector
  • 18e1d0f Added function to push back single signal timepoint
  • 889b587 Started implementing the external dynamic class in python
  • 008c93b started adding c glue code for external contrast variations
  • fd43556 Added test for external contrast dynamics
  • 5991c54 added helper class for python external signals
  • 9d331e0 Wrapped external signal into c
  • 04d5772 Updated test to use external contrast signal
  • e38de5d Added recon of simulation data as addition to test
  • db59edc Renamed method
  • 5734cbb Renamed method
  • 39d841f Added parallel code in contrast mapping
  • 5fae741 Updated test to use XCAT
  • 9f377ae Merge branch 'add-ext-contrast' into petmr-simulation
  • 69708ce Started wrapping contrast dynamics into simulation


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/8743056629@github.com>

Johannes Mayer

unread,
Jan 3, 2022, 8:55:22 AM1/3/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • b3304b8 running version of contrast dynamics with bug in binning


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/8743318581@github.com>

Johannes Mayer

unread,
Jan 3, 2022, 11:26:34 AM1/3/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 2 commits.

  • bebd168 Changed to non-static contrast dynamic members
  • bb83a74 Cleaned up debuggin


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/8744399255@github.com>

Johannes Mayer

unread,
Jan 5, 2022, 8:34:59 AM1/5/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 3 commits.

  • 0f1ddc4 Added method to discard data in acquisition object
  • bf15e50 Added method to discard data in acquisition object
  • 0a9e952 Added reconstruction to python test


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/8759858574@github.com>

Johannes Mayer

unread,
Jan 5, 2022, 10:04:46 AM1/5/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/8760697692@github.com>

Johannes Mayer

unread,
Jan 5, 2022, 11:29:15 AM1/5/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • cc1a7d6 switched of pragma parallels


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/8761425816@github.com>

Johannes Mayer

unread,
Jan 5, 2022, 12:54:19 PM1/5/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • 783625c Enabled setting of spin density for tissue parameters


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/8762072281@github.com>

Johannes Mayer

unread,
Jan 7, 2022, 8:04:41 AM1/7/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 2 commits.

  • e4f1931 Corrected contrast simulation for wrong time scaling (sec instead of ms)
  • 884bf7c Renamed temporary variables in loop


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/8777610112@github.com>

Johannes Mayer

unread,
Feb 1, 2022, 8:12:41 AM2/1/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 4 commits.

  • 3fca946 Added simulation demo for non-cubic phantom
  • d369b73 Added example for external contrast
  • e05a680 Trigger GHA workflow
  • 5a26ea8 Added code to parse tissue XML from Python


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/8982962905@github.com>

Johannes Mayer

unread,
Feb 1, 2022, 9:34:07 AM2/1/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 2 commits.


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/8983722788@github.com>

Johannes Mayer

unread,
Feb 2, 2022, 11:39:58 AM2/2/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 7 commits.


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/8994773372@github.com>

Johannes Mayer

unread,
Feb 2, 2022, 1:36:06 PM2/2/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 4 commits.

  • d01aa25 Added test and interface for saving groudn truth parameters maps
  • 310689a Added test for contrast generator mapping tissue parameters
  • 1a961ce updated test for new output class of images
  • 8a47c38 Finished contrast generator parameter map creation


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/8995737664@github.com>

Johannes Mayer

unread,
Feb 3, 2022, 11:23:40 AM2/3/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 5 commits.

  • 3d5ca1c renamed function
  • acc459e Added writing to dynamic simulation interface without resampling
  • 4ae5d67 Added resampling into template coordinates to parameter maps groudn truths
  • 43b903b deleted useless line
  • c9ae9e5 Added test to check 2d resampling


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9004485061@github.com>

Johannes Mayer

unread,
Feb 3, 2022, 12:16:57 PM2/3/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • c9e2a8d Wrapped gr writer in python


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9004970776@github.com>

Johannes Mayer

unread,
Feb 4, 2022, 12:18:50 PM2/4/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 5 commits.

  • 4881597 Ensuring an empty target header after deserialize
  • 19f224b Deleting temporary files before creating as ISMRMRD appends to files
  • 855024a Merge branch 'fix-tempfile-overflow' into petmr-simulation
  • a514c68 Merge branch 'fix-deserialize-call' into petmr-simulation
  • 70d7621 Added example for geometry


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9014226408@github.com>

Johannes Mayer

unread,
Feb 7, 2022, 8:57:09 AM2/7/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 5 commits.

  • 8c3bf96 Deleted unused code from deformer
  • d669d60 Updated example scripts
  • 4884ee3 ensure that position is also set to zero
  • 1b5a312 Deleted junk code in contrast generator
  • ef31af4 [ci skip] Updated examples for geometry


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9030705078@github.com>

Johannes Mayer

unread,
Feb 11, 2022, 12:35:25 PM2/11/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • 9756ff7 added example script for 3D RPE


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9076206617@github.com>

Johannes Mayer

unread,
Feb 15, 2022, 3:49:36 AM2/15/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • 469d383 [ci skip] Continued work on geometry of simulation erxample


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9105248077@github.com>

Johannes Mayer

unread,
Feb 23, 2022, 10:54:24 AM2/23/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 4 commits.


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9182481122@github.com>

Johannes Mayer

unread,
Feb 24, 2022, 1:55:12 PM2/24/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 4 commits.

  • cbb9700 Updated norming of acquisition orientation
  • 55cb126 Added test for C++ mr geometry
  • f043013 rewrote dynsim deformer test to minimal geometry example
  • 0bcea11 Modification of acquisition header with segmentation dimensions:


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9194168731@github.com>

Johannes Mayer

unread,
Mar 1, 2022, 10:18:35 AM3/1/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 7 commits.

  • 8c21a7a Added the acquisition setter function
  • c95ba42 Added setter for acquisition parameter in c
  • d07ee4b Added setter for acquisition index variables in python
  • 8ee8554 Corrected typo
  • d433293 Merge branch 'master' of https://github.com/SyneRBI/SIRF into add-acquisition-setter
  • bf0088d Merge branch 'add-acquisition-setter' into petmr-simulation
  • d016a77 ensured passing of data types for snr is correct


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9234210068@github.com>

Johannes Mayer

unread,
Mar 1, 2022, 11:31:29 AM3/1/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 5 commits.

  • ff8ace0 Passing the SNR as a float parameter
  • 1519b2f Added outputs for noise labels
  • c2e8e53 Changed noise label data tyhpe from size_t to int
  • 0bd675b ending program if contrast template is not set yet in generator
  • 4b8112d [ci skip] Had to ste the acquisition after you add the noise


View it on GitHub or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9234890960@github.com>

Johannes Mayer

unread,
Mar 1, 2022, 11:32:42 AM3/1/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • f3adc77 [ci skip] Cleaned up a bit


View it on GitHub or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9234902464@github.com>

Johannes Mayer

unread,
Mar 2, 2022, 12:25:48 PM3/2/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • 5c50b72 [ci-skip] Replaced wrong command for vector clearance


View it on GitHub or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9247015109@github.com>

Johannes Mayer

unread,
Mar 14, 2022, 2:19:40 PM3/14/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 2 commits.

  • 8fb6d26 Fixed bug for signal == 1 in cyclic dynamics
  • 83d25bf [ci skip] Added set template function that sets both types simultaneously


View it on GitHub or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9349004876@github.com>

Johannes Mayer

unread,
Mar 15, 2022, 10:10:57 AM3/15/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • abda270 Added idx_corr to the dynamics class


View it on GitHub or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9357357140@github.com>

Johannes Mayer

unread,
Mar 15, 2022, 2:08:32 PM3/15/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 3 commits.


View it on GitHub or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9359711795@github.com>

Johannes Mayer

unread,
Mar 16, 2022, 6:42:53 AM3/16/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • a380ed4 [ci skip]Implemented return of idx_corr for MR Dynamics objects


View it on GitHub or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9366115137@github.com>

Johannes Mayer

unread,
Mar 16, 2022, 6:59:46 AM3/16/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 2 commits.

  • e3ac2d4 [ci skip] Updated test and cleared output
  • 4848558 [ci skip] Updated test and cleared output


View it on GitHub or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9366269291@github.com>

Johannes Mayer

unread,
Mar 23, 2022, 1:14:57 PM3/23/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • 122bdc4 Changed time unit for external contrast

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9429033965@github.com>

Johannes Mayer

unread,
Mar 24, 2022, 11:49:36 AM3/24/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 2 commits.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9439256328@github.com>

Johannes Mayer

unread,
Mar 29, 2022, 6:13:42 AM3/29/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 4 commits.

  • a235eda Added option to return labels
  • 144b4dd Added displacement offset in dynsim deformer
  • 3b9450f Added option to compute average surrogate signal
  • 2be642f Storing labels as parameter ground truth

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9477065634@github.com>

Johannes Mayer

unread,
Mar 29, 2022, 12:44:43 PM3/29/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 6 commits.

  • 4a778d3 Updated tests for avg surrogate and vector ifelds
  • d4c49d3 Added assertion to make sure we have a signal before interpolationg
  • 08fad2e Added average motion fields to gt offsetl
  • 686595f Removed reorient for dispalcement fields. this is usually applied to segmentation anyway
  • 315c40e Removed reorient for dispalcement fields. this is usually applied to segmentation anyway
  • 633ba7a made avg surrogate isgnal function Virtual

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9480964019@github.com>

Johannes Mayer

unread,
Mar 30, 2022, 11:48:54 AM3/30/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • f2ca118 Added non-nearestneightbor reasmpler for labels

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9491590490@github.com>

Johannes Mayer

unread,
May 23, 2022, 12:02:02 PM5/23/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 3 commits.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9959941752@github.com>

Johannes Mayer

unread,
May 23, 2022, 1:23:46 PM5/23/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 2 commits.

  • 8c0beb8 [ci skip] Added documentation to dynamics
  • 2b46879 [ci skip] Added documentation

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9960638674@github.com>

Johannes Mayer

unread,
May 24, 2022, 8:05:44 AM5/24/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 2 commits.

  • b2df2ce [ci skip] Added documentation
  • 66ddca5 [ci skip] deleted comment

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9968354277@github.com>

Johannes Mayer

unread,
May 24, 2022, 9:57:50 AM5/24/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 3 commits.

  • 00aaf3b Deleted old includes
  • c9ed355 [ci skip] put dynsim deformer into namespace sirf
  • 8c86d42 [ci skip] Put dynamics into namespace sirf

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/9969560862@github.com>

Kris Thielemans

unread,
Jun 9, 2022, 5:04:17 AM6/9/22
to SyneRBI/SIRF, Subscribed

@KrisThielemans commented on this pull request.


In examples/Python/Simulation/preprocess_speedup_testdata.py:

> +    list_files = sorted(fpath_input.glob('mvf_*'))
+
+    for f in list_files:
+        print("loading {}".format(f))
+        
+        mvf = nib.load(str(f))
+        print("The input motoinfield has size {}".format(mvf.shape))
+
+        mvf = mvf.slicer[:,:,slab_start:slab_end,:]
+        print("The output motoinfield has size {}".format(mvf.shape))
+        
+        fname_output = str(prefix_output + folder_pattern + f.name)
+        print("Storing to {}".format(fname_output))
+        nib.save(mvf, fname_output)
+
+root_path = '/media/sf_CCPPETMR/TestData/Input/xDynamicSimulation/pDynamicSimulation/'

hard-coded


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/review/1000981524@github.com>

Johannes Mayer

unread,
Jun 14, 2022, 10:48:28 AM6/14/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 2 commits.


View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/10158845102@github.com>

Johannes Mayer

unread,
Jun 27, 2022, 4:56:45 AM6/27/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • ac09847 Printing info for only 100th line for external contrast simulations

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/10272876627@github.com>

Johannes Mayer

unread,
Jun 27, 2022, 6:50:41 AM6/27/22
to SyneRBI/SIRF, Push

@johannesmayer pushed 1 commit.

  • 0745b7e [ci skip] Suppressing SIRF Reg cout put

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/push/10273955912@github.com>

Edoardo Pasca

unread,
Feb 13, 2025, 5:29:17 AM2/13/25
to SyneRBI/SIRF, Subscribed

@paskino commented on this pull request.


In examples/Python/Simulation/simulate_3D_RPE.py:

> +    fpath_testdata_prefix = '/media/sf_CCPPETMR/TestData/'
+    input_fpath_prefix = fpath_testdata_prefix + 'Input/xDynamicSimulation/pDynamicSimulation/'
+    output_fpath_prefix = fpath_testdata_prefix + 'Output/xDynamicSimulation/pDynamicSimulation/'

hard coded paths are bad


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/review/2614553552@github.com>

Edoardo Pasca

unread,
Feb 13, 2025, 5:34:00 AM2/13/25
to SyneRBI/SIRF, Subscribed

@paskino commented on this pull request.


In src/xGadgetron/cGadgetron/cgadgetron.cpp:

> +	// else if  (sirf::iequals(param_name, "position"))
+	// 	acq.position() = dataFromHandle<float*>(val);
+	// else if  (sirf::iequals(param_name, "read_dir"))
+	// 	acq.read_dir() = dataFromHandle<float*>(val);
+	// else if  (sirf::iequals(param_name, "phase_dir"))
+	// 	acq.phase_dir() = dataFromHandle<float*>(val);
+	// else if  (sirf::iequals(param_name, "slice_dir"))
+	// 	acq.slice_dir() = dataFromHandle<float*>(val);
+	// else if  (sirf::iequals(param_name, "patient_table_position"))
+	// 	acq.patient_table_position() = dataFromHandle<float*>(val);

Why are these not read out?


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/review/2614565763@github.com>

Edoardo Pasca

unread,
Feb 13, 2025, 5:35:23 AM2/13/25
to SyneRBI/SIRF, Subscribed

@paskino commented on this pull request.


In src/xGadgetron/cGadgetron/gadgetron_data_containers.cpp:

> +    if(combined_img.items() > this->items() )
+        throw LocalisedException("The number of coilmaps is less than the number of images to which they should be applied to.",   __FILE__, __LINE__);

@ckolbPTB can you enlighten us on why this change has happened.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <SyneRBI/SIRF/pull/1007/review/2614569211@github.com>

Reply all
Reply to author
Forward
0 new messages