-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
created BlochVoxelDictSimulation simulation method #348
base: master
Are you sure you want to change the base?
created BlochVoxelDictSimulation simulation method #348
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #348 +/- ##
==========================================
- Coverage 90.52% 87.94% -2.59%
==========================================
Files 51 53 +2
Lines 2787 2812 +25
==========================================
- Hits 2523 2473 -50
- Misses 264 339 +75
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Thanks @depedraza !!! I changed a few things in KomaMRICore (I changed how the simulation_method extension works in 148a257), this should simplify how Koma is extended. I will take a look at the other functions later.
|
Hi @depedraza, can you upload an example on how to use this? |
Hi @cncastillo, sure thing, will do it today. |
Hi @depedraza! I think more people may want to use this, it would be cool if you could update it :). |
11bd510
to
c57c44d
Compare
Implementation of a dictionary simulation method for MRF applications. The implementation in
BlochVoxelDictSimulation.jl
relies on the usage of the phantom defined inT1T2_voxel_phantom.jl
in order to perform the simulations. Both files will be described as follows:BlochVoxelDictSimulation.jl
: simulation method that performs the simulation of a sequence assuming an input that corresponds to an array of phantom objects. In particular, it uses a concatenation (by summing over a list of phantoms) of severalT1T2_voxel_phantom.jl
instances in order to simulate the MR signal for each of the instances (i.e. voxels). It assumes that each voxel has a unique ID value, that allows the method to perform the assignment of the signal per voxel, so when the contribution from each thread is summed in order to retrieve the signal, there is no "cross-talking" between different voxels, as it may happen that spins from different voxels are assigned to a same particular thread. The method returns a dictionary with sizeT1T2_voxel_phantom.jl
: defines a phantom object that can receive 3 input parameters, aFloat
, in ms) and a unique ID (Int
) that is assigned to each of the spins of the voxel, under theDλ1
parameter (will change in the future). This ID is used by the simulation method described above in order to properly identify and assign the signals from the spins to its corresponding phantom object. By the moment, the voxel dimensions are set for a particular MRF application context (