implement FOD(F)
4 functions:
- convolve_watson
- convolve_bingham
- convolve_deltas
- convolve_SH
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 = {'watson': convolve_watson, 'delta': convolve_delta, 'bingham': convolve_bingham}[dtype]
signal += volume_fraction * func(compartment, acquisition, params)
Output is the signal as 1D array
Sub-issues:
- Add fODF to GUI #63
- write
convolve_SH
#59 - write
convolve_crossing
&convolve_delta
#60 - write
convolve_watson
#61 (closed) - write
convolve_bingham
#62
Edited by Michiel Cottaar