Modelling with reference tissue
The reference tissue modelling app configures and runs non-invasive kinetic models that use a reference brain region instead of arterial blood data. This is the appropriate choice when blood data is not available.
Pipeline steps
The reference tissue pipeline runs these steps in order:
1. Data definition
Same as the plasma input pipeline. Subsets the combined TACs by BIDS entities and creates individual TAC files.
Important
The reference region must be included in your region subsetting. For example, if your reference region is “Cerebellum”, then the Regions field must include “Cerebellum”.
2. Weights
Same as the plasma input pipeline. Calculates frame-by-frame weights for model fitting.
3. Reference TAC
Configures how the reference region TAC is handled before being used for model fitting.
Reference TAC methods:
Raw reference TAC (default) — Uses the reference region TAC without modification. This is usually recommended.
Feng+1TC reference model — Fits the reference TAC with a pharmacokinetic model to reduce noise.
Spline model — Fits the reference TAC with a smooth spline function to reduce noise.
Noise approximation (available with Raw reference TAC only):
When enabled, compares the noise level in the reference region to target regions using a spline-based estimate. This helps identify whether the reference region is particularly noisy relative to targets, which can necessitate fitting the reference region. But usually, the raw reference TAC is sufficient.
4. Model fitting
Fits non-invasive kinetic models to each PET measurement and region. You can configure up to three models simultaneously.
Available models: SRTM, SRTM2, refLogan, MRTM1, MRTM2, refPatlak. See Supported models for details.
Models that require a k2prime value (SRTM2, MRTM2, refLogan) can obtain it from:
A fixed value you provide
The fitted results of another model in the same analysis (e.g. MRTM1’s k2a estimate)
An ancillary analysis folder (when using the ancillary analysis workflow)
Running the pipeline
# Interactive
petfit-docker /path/to/your/bids /path/to/your/derivatives participant \
--app modelling_ref
# Then open http://localhost:3838
# Automatic — full pipeline
petfit-docker /path/to/your/bids /path/to/your/derivatives participant \
--app modelling_ref --automatic
# Automatic — single step
petfit-docker /path/to/your/bids /path/to/your/derivatives participant \
--app modelling_ref --automatic \
--step model1
Install the wrapper with pip install petfit-docker; see the
Docker guide for the equivalent raw docker run commands.
# Interactive
apptainer run \
--bind /path/to/your/bids:/data/bids_dir \
--bind /path/to/your/derivatives:/data/derivatives_dir \
petfit_latest.sif \
--func modelling_ref
# Then open http://localhost:3838
# Automatic — full pipeline
apptainer run \
--bind /path/to/your/bids:/data/bids_dir \
--bind /path/to/your/derivatives:/data/derivatives_dir \
petfit_latest.sif \
--func modelling_ref \
--mode automatic
# Automatic — single step
apptainer run \
--bind /path/to/your/derivatives:/data/derivatives_dir \
petfit_latest.sif \
--func modelling_ref \
--mode automatic \
--step model1
library(petfit)
# Interactive
petfit_interactive(
app = "modelling_ref",
derivatives_dir = "/path/to/derivatives"
)
# Automatic — full pipeline
petfit_auto(
app = "modelling_ref",
derivatives_dir = "/path/to/derivatives"
)
# Automatic — single step
petfit_auto(
app = "modelling_ref",
derivatives_dir = "/path/to/derivatives",
step = "model1"
)
Interactive exploration
Same as the plasma input app. The Interactive tab lets you manually load TAC data and test model fits on individual PET measurements and regions.
State persistence
Same as the plasma input app. All configuration is saved to and restored from desc-petfitoptions_config.json.