pub fn run_qsmart(
field_ppm: &[f64],
mask: &[u8],
magnitude: Option<&[f64]>,
metadata: &ScanMetadata,
inversion_config: &InversionConfig,
reference: QsmReference,
progress: &mut dyn FnMut(usize, usize),
) -> Result<Vec<f64>, PipelineError>Expand description
Run QSMART two-stage QSM reconstruction.
§Arguments
field_ppm- Total field in ppm (after field mapping)mask- Binary brain maskmagnitude- Combined magnitude (for vasculature detection and, when the inner inversion is MEDI, edge weighting; uniform if None)metadata- Scan metadatainversion_config- Inversion configuration. QSMART-specific settings (SDF, vasculature, iLSQR tolerance) come frominversion_config.qsmart; the inner dipole inversion algorithm is selected byinversion_config.qsmart.inversionand tuned via the matching per-algorithm field on this config.reference- QSM referencing methodprogress- Progress callback (current_step, total_steps)
§Returns
Susceptibility map in ppm (referenced)