compute_jacobian_hermitian

Array<cfloat, 2> compas::compute_jacobian_hermitian(const CompasContext &ctx, Array<cfloat, 2> echos, Array<cfloat, 2> delta_echos_T1, Array<cfloat, 2> delta_echos_T2, TissueParameters parameters, CartesianTrajectory trajectory, Array<cfloat, 2> coil_sensitivities, Array<cfloat, 3> vector, JacobianComputeMethod kind = JacobianComputeMethod::Direct)

Computes the product Jᴴv, where J is the Jacobian w.r.t. tissue parameters.

Parameters:
  • ctx – CompasContext for execution resources.

  • echos – Magnetization at echo times [nreadouts, nvoxels].

  • delta_echos_T1 – Partial derivatives of echos w.r.t. T1 [nreadouts, nvoxels].

  • delta_echos_T2 – Partial derivatives of echos w.r.t. T2 [nreadouts, nvoxels].

  • parametersTissueParameters struct [nvoxels].

  • trajectoryCartesianTrajectory object.

  • coil_sensitivities – Coil sensitivities [ncoils, nvoxels].

  • vector – Input vector v in k-space [ncoils, nreadouts, nsamples_per_readout].

Returns:

Result Jᴴv [nfields, nvoxels]. Fields are derivatives w.r.t. [T1, T2, rho_real, rho_imag].