PET/MR Simulation Framework for Dynamic Data including Ground Truth information.
https://github.com/SyneRBI/SIRF/pull/1007
—
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.
![]()
@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)
> 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
> @@ -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
@johannesmayer pushed 27 commits.
—
You are receiving this because you are subscribed to this thread.
View it on GitHub or unsubscribe.
@johannesmayer pushed 14 commits.
—
You are receiving this because you are subscribed to this thread.
View it on GitHub or unsubscribe.
@johannesmayer pushed 23 commits.
—
You are receiving this because you are subscribed to this thread.
View it on GitHub or unsubscribe.
@johannesmayer pushed 30 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 1 commit.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 2 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 3 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 1 commit.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 1 commit.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 1 commit.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 2 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 4 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 2 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 7 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 4 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 5 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 1 commit.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 5 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 5 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 1 commit.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 1 commit.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 4 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 4 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 7 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 5 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.![]()
@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.![]()
@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.![]()
@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.![]()
@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.![]()
@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.![]()
@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.![]()
@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.![]()
@johannesmayer pushed 1 commit.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 2 commits.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 4 commits.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 6 commits.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 1 commit.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 3 commits.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 2 commits.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 2 commits.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 3 commits.
You are receiving this because you are subscribed to this thread.![]()
@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.![]()
@johannesmayer pushed 2 commits.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 1 commit.
You are receiving this because you are subscribed to this thread.![]()
@johannesmayer pushed 1 commit.
You are receiving this because you are subscribed to this thread.![]()
@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.![]()
@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.![]()
@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.![]()