compute_jacobian

Array<cfloat, 3> compas::compute_jacobian(const CudaContext &ctx, Array<cfloat, 2> echos, Array<cfloat, 2> delta_echos_T1, Array<cfloat, 2> delta_echos_T2, TissueParameters parameters, CartesianTrajectory trajectory, Array<float, 2> coil_sensitivities, Array<cfloat, 2> vector)

Computes the product of the Jacobian matrix with the given vector.

Parameters:
  • ctx – The CUDA context.

  • echos – The magnetization at echo time. Size: [nreadouts, nvoxels]

  • delta_echos_T1 – The partial derivatives of echo with respect to T1.

  • delta_echos_T2 – The partial derivatives of echo with respect to T2.

  • parameters – The tissue parameters (T1, T2, etc.)

  • trajectory – Cartesian k-space sampling trajectory.

  • coil_sensitivities – The sensitivities of the receiver coils. Size: [ncoils, nvoxels]

  • vector – The input vector. Size: [nfields, nvoxels]. There are 4 fields: T1, T2, and rhox/rhoy.

Returns:

The result of Jv. Size: [ncoils, nreadouts, nsamples_per_readout].