Generic Bloch module parallel computation issue
It seems that during a refactor of the GeneralBlochOperator the parallel computation feature was broken (at least in some cases).
When testing parallel computation for full images (all readout lines for same (stationary) trajectory, no spin history between TR) only the first (or sometimes first few?) lines in the resulting time signal accumulator were filled. It seems the simulation is working normally and signals are being calculated, but the time signal accumulator is not properly populated due to the following line in the _sample() method:
in_bounds = tf.where(adc_writing_idx > -1)
indices = tf.gather(indices, in_bounds)[0]
demodulated_signal = tf.gather(demodulated_signal, in_bounds)[0]
By removing these lines (such that this inbound filter is not applied) it acts normally. What is the purpose of this code?