API: R1ρ
NMRAnalysis.R1rho.b1calibration — Method
b1calibration(x) -> B1CalibrationThe calibration setupR1rhopowers works from: one ready-made, or the nutation calibration experiment(s) to measure one from, or "" to ask for the hard pulse and its power level and assume the ideal √W power law.
Each calibration experiment is fitted in the analysis window rather than headlessly: the powers about to be pasted into the spectrometer are only as good as these fits, so they are worth looking at.
NMRAnalysis.R1rho.commitondefocus! — Method
commitondefocus!(tb::Textbox)Commit tb's displayed text to stored_string when it loses focus. Makie's Textbox only commits on Enter; clicking away otherwise leaves the typed text on screen without ever applying it to stored_string (and hence to whatever listens on it).
NMRAnalysis.R1rho.r1rho — Function
r1rho(directory_path=""; minvSL=250, maxvSL=1e6, scalefactor=:automatic)
r1rho(filenames::Vector{String}; minvSL=250, maxvSL=1e6, scalefactor=:automatic)Launch the R1rho analysis GUI for a given directory or experiment folder.
directory_path: Path to the experiment folder or parent directory. If not specified, a dialog will prompt for selection.filenames: Vector of experiment files to analyse.minvSL: Minimum value for on-resonance spin-lock strengths (in Hz). Default is 250 Hz. Set to zero to disable the lower limit. This allows low spin-lock strengths with poor alignment to be excluded from the analysis.maxvSL: Maximum value for on-resonance spin-lock strengths (in Hz). Default is 1 MHz (effectively no upper limit). This allows high spin-lock strengths that may have detuning effects to be excluded from the analysis.scalefactor: Adjusts the size of the display window. By default, this is2for high-resolution displays and1for low-resolution displays. Omit or set to:automaticto use the default, or provide a numeric value to override.
Example
# analyse experiments 11 and 12
r1rho(["examples/R1rho/11", "examples/R1rho/12"])
# open a dialog to select a directory, and scale the display size by 1.5
r1rho(scalefactor=1.5)
# filter out spin-lock strengths below 500 Hz (e.g. to exclude poorly aligned experiments, 250 Hz is the default)
r1rho("examples/R1rho", minvSL=500)
# filter out spin-lock strengths about 10 kHz (e.g. to exclude data with detuning effects)
r1rho("examples/R1rho", maxvSL=10_000)NMRAnalysis.R1rho.setupR1rhopowers — Function
setupR1rhopowers(calibration="")Interactively calculate spin-lock power levels (in Watts) for an R1ρ relaxation dispersion experiment, ready to paste into the acquisition software's power list.
calibration: one or more 1D nutation calibration experiments, given as paths or experiment numbers, or a ready-madeB1Calibration. Each experiment is fitted in the analysis window, so the fits can be checked before powers are computed from them; several of them, recorded at different power levels, give a calibration curve and the powers follow it rather than the ideal √W law. If omitted, you are prompted to enter p1 and pldB1 manually and the ideal law is assumed.
You are then prompted for the target spin-lock strengths, either as an explicit comma-separated list (in Hz) or, if left blank, a minimum/maximum bound used to filter a built-in default list. Spin-lock strengths above 10 kHz trigger a confirmation prompt, to guard against probe damage.
The resulting powers are shuffled (so that later fitting isn't biased by monotonically ordered spin-lock strengths) and printed together with the corresponding shuffled list of spin-lock strengths, ready to be copied into the experiment setup.
Example
# read pulse calibration from an experiment, then prompt for spin-lock strengths
setupR1rhopowers("examples/calibration/1")
# calibrate the amplifier's response over several power levels first
setupR1rhopowers(["examples/calibration/1", "examples/calibration/2"])
# prompt for pulse parameters and spin-lock strengths interactively
setupR1rhopowers()