convolve with crossing fibres (no dispersion)
Each function takes as input:
- compartment
- all acquisition parameters required by compartment (should include bvec)
- fODF parameters
- for non-SH: list of tuple (volume fraction, fibre orientation / fibre orientation + kappa)
for example:
crossing = [(0.3, 'delta', [1., 0., 0.]), (0.7, 'watson', ([0, 1, 0], 4.)]
- for non-SH: list of tuple (volume fraction, fibre orientation / fibre orientation + kappa)
for example:
def convolve_crossing(compartment, acquistion, crossing):
for volume_fraction, dtype, param in crossing:
func = {'delta': convolve_delta}[dtype]
signal += volume_fraction * func(compartment, acquisition, params)
Output is the signal as 1D array
General integral: S(g, b) = \int fODF(\nu) RF(b, g \dot \nu) d \nu
In our specific case the fODF is a bunch of delta functions, so: S(g, b) = \sum_i f_i RF(b, g \dot \nu_i)
Edited by Michiel Cottaar