MRSuite/mlp-supervised-7t-slaser

A multi-layer perceptron that reads concentrations and signal parameters off a spectrum.

An MRSuite model, mrsuite.models.mlp.MLP. Paper: https://arxiv.org/abs/2511.23135

Use

import mrsuite.models

model = mrsuite.models.load("MRSuite/mlp-supervised-7t-slaser")
results = model(data)          # one spectrum as NIfTI-MRS, or a batch as NIfTI-MRS+

It runs as a step in any MRSuite pipeline, and each result's provenance records its exact weights (SHA-256 45a62ce6c27b96d48c1cd425a1ddd88e4ce7232ecf867395fb9c754ff6b142c4).

It takes single spectra acquired as its training data, and refuses others:

Acquisition
Bandwidth [Hz] 3000.0
Centre [ppm] 4.65
Spectrometer frequency [MHz] 298.200012
Points 1024

Training

{
  "model": "mrsuite.models.mlp.MLP",
  "checkpoint": {
    "path": "data/checkpoints/mlp_super/epoch=0-step=7537664.ckpt",
    "sha256": "7ef95bb4916e915ce5847cf17229f18ca15742e9cb87dddc5f9a0991dd9f829c"
  },
  "job": {
    "model": "mlp",
    "basis": "7T_sLASER_OIT_TE34.basis",
    "basisFmt": "7tslaser",
    "ppmlim": [
      0.5,
      4.0
    ],
    "dataType": "aumc2",
    "width": 512,
    "depth": 3
  },
  "converted with": {
    "ood-robust-mrs": "451cf71"
  },
  "run": {
    "id": "wyoo5p40",
    "settings": {
      "activation": "elu",
      "adaptMode": "per_spec",
      "arch": "mlp",
      "basisFmt": "7tslaser",
      "batch": 16,
      "callback": "val_conc_loss",
      "check_val_every_n_epoch": null,
      "checkpoint_path": "",
      "conv_depth": 3,
      "dataType": "aumc2",
      "decomModel": "unet",
      "depth": 3,
      "device": "cuda:0",
      "dropout": 0,
      "flow_args": {
        "beta": 0,
        "flow": "SNFVAE",
        "num_flows": 8
      },
      "gpu_selection": 0,
      "gradient_clip_val": 0,
      "initMethod": "nn",
      "innerEpochs": 100,
      "innerLoss": "mse_specs",
      "innerLr": 0.001,
      "kernel_size": 3,
      "load_model": false,
      "loss": "mae_all_scale",
      "lr": 0.0001,
      "max_epochs": -1,
      "max_steps": -1,
      "maxIter": 10,
      "model": "nn",
      "num_workers": 4,
      "online": true,
      "optimizer": "theseus",
      "path2basis": "../Data/BasisSets/7T_sLASER_OIT_TE34.basis",
      "path2vae": "",
      "ppmlim": [
        0.5,
        4
      ],
      "project": "ComparisonDD",
      "reg_l1": 0,
      "reg_l2": 0,
      "shuffle": true,
      "skip_train": false,
      "specType": "auto",
      "stepSize": 0.1,
      "stride": 1,
      "trueBatch": 16,
      "val_check_interval": 256,
      "val_size": 1024,
      "width": 512
    }
  }
}

Training data

How the training spectra were made, reported as the MRSsynMRS minimum standard for synthetic MRS data asks (LaMaster et al., arXiv 2602.23463). The full recipe is in recipe.json.

MRSsynMRS Value
Experiment
ID OoD-Robust-MRS-Quantification dataType 'aumc2' (aumcParams2, aumcConcs), runs wyoo5p40 (supervised) and 48ke5d6u (self-supervised)
Nucleus 1H
Software
Basis Set Simulation
  Name 7T_sLASER_OIT_TE34.basis (LCModel)
  Repository (Link, DOI, or RRID) https://github.com/CIC-methods/FID-A (the simulator, per the basis header's source path 7T_FIDA_sLASER_OIT_TE34)
Signal Model
  Name VoigtModel (simulation/sigModels.py): each basis FID times exp(-(1jeps + gamma + sigma^2t)t), FFT, times its amplitude and exp(-1j(phi0 + phi1*f)), plus a polynomial baseline
  Repository (Link, DOI, or RRID) https://github.com/julianmer/OoD-Robust-MRS-Quantification (451cf71), arXiv:2511.23135
Additional Code
  Name simulation/simulation.py, simulation/dataModules.py (SynthDataModule.get_batch), utils/components.py; FSL-MRS reads the basis
  Repository (Link, DOI, or RRID) https://github.com/julianmer/OoD-Robust-MRS-Quantification (451cf71)
  Purpose draws the parameters and adds the noise and any random walk and random peaks; simulated online, fresh spectra for every training batch
Pulse Sequence
Field Strength [T] 7
Localization sLASER (OIT pulses, per the basis name)
Spectral Width [Hz] 3000
Number of Points 1024
Voxel Size (X, Y, Z) [mm] β€”
Sequence Timing(s)
  Repetition Time(s) [ms] β€”
  Echo Time(s) [ms] 34
  Mixing Time(s) [ms] β€”
  Inversion Time(s) [ms] β€”
Water Suppression
  Method β€”
  Bandwidth(s) [Hz] β€”
Shimming Method β€”
Radio Frequency Pulse(s)
  Shape β€”
  Duration(s) β€”
  Delay(s) β€”
Slice-Select Gradients
  Shape β€”
  Duration(s) β€”
  Delay(s) β€”
Crusher/Rephasing Gradients
  Shape β€”
  Duration(s) β€”
  Delay(s) β€”
Editing
  Type of editing none
  Number of subexperiments 1
  Editing bands per subexperiment β€”
Metabolites
Population
  Age Range β€”
  Sex β€”
  Healthy included β€”
  Clinical included β€”
Region of interest β€”
Distribution uniform: each parameter drawn independently and uniformly over its [low, high] (numpy.random.uniform)
Component dropout probability 0
Units a.u.: the amplitude multiplying each basis FID as FSL-MRS reads the LCModel .basis (inverse FFT, conjugated) and resamples it to 3000 Hz and 1024 points, not rescaled (each metabolite's function also holds a reference peak at 0 ppm, outside the model's window); not mM
Sources of Parameter Values
  Concentration Ranges (Link or DOI) per name the widest of LCModel and FSL-MRS (Newton) fits of the AUMC 7 T data and de Graaf 2019's literature ranges (simulation/simulationDefs.py: aumcConcs over aumcConcsLCM, aumcConcsNewton, normConcs); arXiv 2511.23135
  T2 Relaxation Ranges (Link or DOI) β€”
  T1 Relaxation Ranges (Link or DOI) β€”
Concentration Ranges
  Ala 0 – 1.6
  Asc 0 – 4.9
  Asp 0 – 4.8
  Cr 3.9 – 12.3
  GABA 0 – 4
  Gln 0 – 6.8
  Glu 6 – 17.9
  Gly 0 – 1
  GPC 0 – 3.6
  GSH 0 – 3.6
  mIns 4 – 12.1
  Lac 0 – 3.1
  NAAG 0 – 2.5
  NAA 7.5 – 16.3
  PCh 0 – 2.4
  PCr 0 – 5.5
  PE 0 – 5.2
  Scyllo 0 – 0.6
  Ser 0 – 7.3
  Tau 1.2 – 6
  MM_CMR 0 – 400
T2 Relaxation Ranges not per metabolite: one Lorentzian decay for all basis functions, exp(-gamma*t) with gamma in [2, 25] 1/s (1/gamma 40-500 ms, FWHM gamma/pi 0.6366-7.958 Hz), on top of each basis function's own linewidth
T1 Relaxation Ranges not applied
Metabolite-Level Frequency Shifts not applied: one global shift (see Artifacts)
Components
Number Spectral Averages 1
Number of Acquisitions per Excitation 1
Dynamic Experiment
  Diffusion B-values β€”
  Diffusion Model (Name, DOI) β€”
  fMRS Target Metabolites and Percent Changes β€”
Macromolecule
  Available in Isolation yes
  Simulated, Modeled, Experimental, or Mixture the basis function MM_CMR (header ID 7T_MM_CMRR, from MM_295.1_MHz_CMRR_4kHz.RAW), sampled like the metabolites; measured or modelled is not stated
  Description MM_CMR
Spectral Baseline - nonMMBG
  Model Used (Equation, Description, or DOI) second-order polynomial added to the frequency-domain spectrum, real and imaginary parts separately: coefficients of 1, x and x^2 (less its mean), x from -1 to 1 across the model's input window 0.50-3.99 ppm, zero outside it; a coefficient is its term's amplitude in a.u.
  Available in Isolation yes
  Applied yes
  If Analytical, Parameter Ranges (added)
    Re 1 -600 – 200
    Im 1 -800 – 300
    Re x -1000 – 600
    Im x -600 – 1000
    Re x^2 -1600 – 200
    Im x^2 -400 – 1000
Noise
  Available in Isolation yes
  Distribution additive complex Gaussian in the frequency domain (on the unnormalised FFT spectrum), real and imaginary parts independent
  Amplitude Scaling
    std of each of the real and imaginary parts, a.u., uniform per spectrum 10 – 7071.07
B0 Map
  B0 Map Model Used β€”
  Available in Isolation β€”
  Applied no
Tissue Segmentation
  Brain Map Model Used β€”
  Voxel Percentage(s) β€”
  Applied no
Artifacts
Zero-Order Phase
  Phase Range
    rad, as exp(-1j*phi0) -0.5 – 0.5
    deg -28.65 – 28.65
  Applied yes
First-Order Phase
  Phase Range
    rad/Hz, as exp(-1jphi1f) -1e-05 – 1e-05
    deg/ppm -0.1709 – 0.1709
  Amplitude Range β€”
  PPM Reference [ppm] -0.38
  Applied yes
Frequency Shifts - Global
  Frequency Shift Range
    rad/s, as exp(-1jepst) -10 – 10
    Hz -1.592 – 1.592
    ppm -0.005337 – 0.005337
  Applied yes
Residual Water
  Model Used (Equation, Description, or DOI) β€”
  If Analytical, Parameter Ranges β€”
  Available in Isolation β€”
  Applied no
  Chemical Shift [ppm] β€”
  Number of Subcomponents β€”
  Amplitude Scaling [a.u.] β€”
Unsuppressed Water
  Model Used (Equation, Description, or DOI) β€”
  Available in Isolation β€”
  Applied no
Lipid
  Model Used (Equation, Description, or DOI) β€”
  Available in Isolation β€”
  Applied no
Eddy Currents
  Model Used (Equation, Description, or DOI) β€”
  If Analytical, Parameter Ranges β€”
  Available in Isolation β€”
  Applied no
Out-of-Voxel
  Model Used (Equation, Description, or DOI) β€”
  If Analytical, Parameter Ranges β€”
  Available in Isolation β€”
  Applied no
Motion
  Model Used (Equation, Description, or DOI) β€”
  If Analytical, Parameter Ranges β€”
  Available in Isolation β€”
  Applied no
Data Quality
Signal Noise Ratio Range [a.u.]
  Range 8.9 – 1384.8
  Metabolite-level SNRs recorded no
  Definition of SNR used maximum of the real part of the noise-free spectrum (no phases, baseline or artifacts) in 1.9-2.1 ppm, the NAA singlet, over the standard deviation of the noise's real part; 1st-99th percentile of 2000 spectra drawn with the original code (numpy seed 0)
Linewidths
  Metabolite-level Linewidths recorded no, per spectrum: gamma and sigma (1/s) in the returned parameters; they add FWHM gamma/pi 0.6366-7.958 Hz (Lorentzian) and 2*sqrt(ln2)*sigma/pi 1.06-13.25 Hz (Gaussian)
  Reference Metabolite and Moiety NAA, CH3 singlet (2.01 ppm)
  Reference Metabolite Linewidth Range [Hz] 3.2 – 19.7

Configuration

{
  "acquisition": {
    "bandwidth": 3000.0,
    "centre": 4.65,
    "frequency": 298.200012,
    "points": 1024
  },
  "depth": 3,
  "first": 602,
  "last": 957,
  "metabolites": [
    "Ala",
    "Asc",
    "Asp",
    "Cr",
    "GABA",
    "Gln",
    "Glu",
    "Gly",
    "GPC",
    "GSH",
    "mIns",
    "Lac",
    "NAAG",
    "NAA",
    "PCh",
    "PCr",
    "PE",
    "Scyllo",
    "Ser",
    "Tau",
    "MM_CMR"
  ],
  "model": "mrsuite.models.mlp.MLP",
  "width": 512
}
Downloads last month
105
Safetensors
Model size
532k params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Paper for MRSuite/mlp-supervised-7t-slaser