Semi-quantitative analysis characterises the shape of the DCE-MRI signal curve at each voxel without fitting a pharmacokinetic model. By computing Relative Contrast Enhancement (RCE), its maximum value, and the time at which that maximum is reached, you can generate spatially resolved maps that reflect tissue vascularity and perfusion in a model-independent way — making them robust to the uncertainties inherent in full pharmacokinetic modelling. DCEMapper’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Rubick65/dcemapper/llms.txt
Use this file to discover all available pages before exploring further.
semi_quantitative() function in src/processing/Semi_Quantitative.py computes all three maps in a single pass and saves them as NIfTI files.
Output Maps
RCE
Relative Contrast EnhancementValues are clipped to the range 0 – 500 % and set to 0 outside the S₀ mask. S₀ is the mean signal across the first
rce_process.nii.gzMeasures the percentage signal increase relative to the pre-contrast baseline at every voxel and every time point.frame_ini_contrast frames.MAX RCE
Maximum Relative Contrast EnhancementThis 3-D map highlights the regions of highest contrast uptake and is useful for tumour delineation.
rce_max_process.nii.gzThe peak RCE value across all time points for each voxel:TTP
Time to PeakThe result is normalised to the range [0, 1] and zeroed outside the ROI mask. Fast-enhancing voxels appear with low TTP values; slow or gradual enhancers have high TTP values.
tto_rce_max_process.nii.gzThe time (in seconds) at which RCE reaches its maximum at each voxel:Parameters
Two user-configurable parameters control the analysis. They are defined inget_semi_quantitative_data() and presented in a dialog before processing begins:
| Parameter | Default | Description |
|---|---|---|
| Frame Init Contrast | 10 | Number of pre-contrast frames used to compute the baseline signal S₀. All frames before index frame_ini_contrast are averaged: S₀ = mean(data[:, :, :, :frame_ini_contrast], axis=3). Increase this value if your protocol includes a longer pre-injection steady-state period. |
| Frame Period | 12.8 | Temporal resolution in seconds between consecutive frames. This value is multiplied by the argmax index to convert TTP from a frame number to real time in seconds. Set this to match the TR or the dynamic acquisition interval of your specific DCE protocol. |
Running the Analysis
Load your data
Open your DCE-MRI NIfTI file using any of the loading modes described in Loading Data. For best results, start from a preprocessed
_preproc.nii.gz file — see Preprocessing.Define an ROI mask (optional)
Use the ROI tools to draw a mask restricting the analysis to your tissue of interest. The TTP map is zeroed outside the ROI, and the S₀ mask threshold is computed from voxels across the full image. See ROI Tools for instructions.
Select the processing type
In the top menu bar, go to Processed → Type → Semi-quantitative to check that option.
Click Process
Click Processed → Process. The button is enabled once a processing type is selected. DCEMapper passes the currently loaded 4-D data array and the NIfTI image object to
semi_quantitative().Set parameters in the dialog
A parameter dialog appears pre-filled with the defaults (
Frame Init Contrast = 10, Frame Period = 12.8). Adjust these values to match your acquisition protocol and click Confirm.Review the output preview
A before/after comparison dialog shows the original signal and the RCE map. Confirm to proceed, or choose to retry with different parameters.
Viewing Results
After processing completes, use the viewer toolbar to switch between the three output maps:| Toolbar Button | Map Loaded | Notes |
|---|---|---|
| RCE | rce_process.nii.gz | Full 4-D array — use the Time Point slider to step through contrast dynamics. ROI tools remain active. |
| MAX RCE | rce_max_process.nii.gz | 3-D volume (single time point). Time navigation is disabled. ROI tools are deactivated for this view. |
| TTP | tto_rce_max_process.nii.gz | 3-D volume (single time point). Time navigation is disabled. ROI tools are deactivated for this view. |
The S₀ mask is computed automatically inside Voxels that do not meet this threshold (typically background air or very low-signal regions) are set to 0 in all output maps. This prevents division-by-zero and suppresses noise in the RCE calculation.
calculate_rce(). A voxel is included in the analysis only if its baseline signal exceeds 80 % of the mean baseline across the whole image: