Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .github/workflows/pr-preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: PR Preview

on:
pull_request:
types: [opened, synchronize, reopened, closed]

permissions:
contents: write
pull-requests: write

jobs:
preview:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: rossjrw/pr-preview-action@v1.8.1
with:
source-dir: .
preview-branch: gh-pages
umbrella-dir: pr-preview
action: auto
326 changes: 326 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,326 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Open-source DCE-MRI processing and analysis tools from the PET/MRI Lab — parametric mapping, AIF detection, and pharmacokinetic modeling." />
<title>DCEASY — Dynamic Contrast-Enhanced Analysis SYstem</title>
<link rel="stylesheet" href="styles.css" />
</head>
<body>

<header>
<div class="header-inner">
<h1>DCE Processing Tools</h1>
<h2>DCEASY</h2>
<p class="tagline"><strong>(D</strong>ynamic <strong>C</strong>ontrast-<strong>E</strong>nhanced
<strong>A</strong>nalysis <strong>SY</strong>stem)</p>
</div>
</header>

<main>

<section class="intro">
<p>
DCEASY is a collection of open-source software maintained by the
<a href="https://github.com/petmri" target="_blank" rel="noopener">PET/MRI Lab</a>
for end-to-end Dynamic Contrast-Enhanced (DCE) MRI workflows —
from parametric mapping and pharmacokinetic modeling to arterial input function (AIF) detection.
Choose the tool that fits your step in the pipeline below.
</p>
</section>

<section class="pipeline">
<h2>DCE Processing Overview</h2>

<h3 class="path-label">Run the whole pipeline at once</h3>
<div class="end-to-end">
<div class="e2e-tool">
<strong>DCEPrep</strong>
<span>Automated &amp; Dockerized — preprocessing through quality control and analysis (steps 1–5)</span>
</div>
</div>

<h3 class="path-label">…or run it step by step</h3>
<ol class="steps">
<li><span class="step-num">1</span> Preprocessing → standard MRI tools (FSL, ANTs, etc.)</li>
<li><span class="step-num">2</span> Generate T1 maps → <strong>parametric_scripts</strong></li>
<li><span class="step-num">3</span> Extract an AIF → <strong>AutoAIF</strong> (automatic) / <strong>AIFArtist</strong> (manual)</li>
<li><span class="step-num">4</span> Signal intensity to concentration, fit pharmacokinetic models (Ktrans, ve, vp …) → <strong>ROCKETSHIP</strong> + <strong>Gpufit</strong></li>
<li><span class="step-num">5</span> Analyze &amp; compare parametric maps → <strong>ROCKETSHIP</strong></li>
</ol>
</section>

<section class="tools">
<h2>Tools</h2>

<div class="cards">

<!-- ROCKETSHIP -->
<article class="card">
<div class="card-header rocketship">
<h3>ROCKETSHIP</h3>
<span class="badge matlab">MATLAB</span>
</div>
<p class="card-desc">
A flexible, GUI-driven suite for full DCE-MRI analysis. Covers pre-contrast
T1 mapping, AIF selection and fitting, multi-model pharmacokinetic curve
fitting (Tofts, Extended Tofts, Patlak, Two-Compartment Exchange, FXR, …),
and results visualization. Supports NIFTI and DICOM inputs and optional
GPU acceleration.
</p>
<ul class="card-highlights">
<li>Tofts, Extended Tofts, Patlak, 2CXM, FXR, tissue-uptake models</li>
<li>GUI-based workflow — no scripting required</li>
<li>Batch processing via parallel computing toolbox</li>
<li>Optional GPU acceleration (Gpufit)</li>
<li>Cited in <em>BMC Medical Imaging</em></li>
</ul>
<div class="card-links">
<a class="btn primary" href="https://github.com/petmri/ROCKETSHIP" target="_blank" rel="noopener">GitHub</a>
<a class="btn secondary" href="https://github.com/petmri/ROCKETSHIP/wiki" target="_blank" rel="noopener">Wiki / Docs</a>
<a class="btn secondary" href="https://doi.org/10.1186/s12880-015-0062-3" target="_blank" rel="noopener">Paper (BMC 2015)</a>
</div>
</article>

<!-- AutoAIF -->
<article class="card">
<div class="card-header autoaif">
<h3>AutoAIF</h3>
<span class="badge python">Python</span>
</div>
<p class="card-desc">
<strong>Preferred for AIF detection.</strong> A 3D U-Net deep-learning model (Keras/TensorFlow)
that automatically detects the arterial input function in brain DCE-MRI.
Pretrained weights are provided; the model handles multi-site data by
resampling inputs to a canonical resolution and outputs a vascular
function curve together with a 3D vascular mask.
</p>
<ul class="card-highlights">
<li>Fully automatic — no manual ROI drawing required</li>
<li>Pretrained on multi-site brain DCE-MRI cohorts</li>
<li>Outputs vascular function curve + 3D mask (NIfTI)</li>
<li>Supports inference and fine-tuning on new datasets</li>
<li>Published in <em>Magnetic Resonance in Medicine</em> (2025)</li>
</ul>
<div class="card-links">
<a class="btn primary" href="https://github.com/petmri/AutoAIF" target="_blank" rel="noopener">GitHub</a>
<a class="btn secondary" href="https://doi.org/10.1002/mrm.70020" target="_blank" rel="noopener">Paper (MRM 2025)</a>
</div>
</article>

<!-- AIFArtist -->
<article class="card">
<div class="card-header aifartist">
<h3>AIFArtist</h3>
<span class="badge python">Python</span>
</div>
<p class="card-desc">
A napari desktop application for manual arterial input function (AIF)
annotation on 4D MRI NIfTI data. Designed for high-volume multi-rater
review sessions: draw a 3D ROI, inspect the mean signal-intensity
curve over time, save a BIDS-style derivative, and jump straight to
the next case.
</p>
<ul class="card-highlights">
<li>Loads BIDS-compliant 4D <code>desc-hmc_DCE.nii[.gz]</code> files, directories, or manifest lists</li>
<li>Live ROI curve preview with per-label and normalized views</li>
<li>BIDS-style derivative outputs with rater ID embedded in filenames</li>
<li>Auto-resumes at first unreviewed case; prefetches next image</li>
<li>Flag-and-skip for poor AIFs or missing baselines</li>
</ul>
<div class="card-links">
<a class="btn primary" href="https://github.com/petmri/AIFArtist" target="_blank" rel="noopener">GitHub</a>
</div>
</article>

<!-- parametric_scripts -->
<article class="card">
<div class="card-header parametric">
<h3>parametric_scripts</h3>
<span class="badge matlab">MATLAB</span>
</div>
<p class="card-desc">
The ROCKETSHIP parametric mapping module, also usable as a
stand-alone tool. Generates T1, T2, T2*, and ADC maps from
multi-echo or inversion-recovery NIFTI series — a required
pre-processing step for accurate DCE pharmacokinetic modeling.
</p>
<ul class="card-highlights">
<li>T1 (inversion recovery), T2, T2*, and ADC map generation</li>
<li>GUI-based interface (fitting_gui)</li>
<li>Batch processing and parallel fitting support</li>
<li>NIFTI and DICOM input support</li>
</ul>
<div class="card-links">
<a class="btn primary" href="https://github.com/petmri/parametric_scripts" target="_blank" rel="noopener">GitHub</a>
</div>
</article>

<!-- gpufit -->
<article class="card">
<div class="card-header gpufit">
<h3>Gpufit</h3>
<span class="badge cuda">CUDA / C++</span>
</div>
<p class="card-desc">
A GPU-accelerated Levenberg–Marquardt curve-fitting library with
Python and MATLAB wrappers. This PET/MRI Lab fork adds MRI-specific
pharmacokinetic models and updated compiler/CUDA support. Used by
ROCKETSHIP for fast voxel-wise model fitting.
</p>
<ul class="card-highlights">
<li>Patlak, Tofts, Extended Tofts, Tissue Uptake, 2CXM, T1 FA Exponential</li>
<li>Full GPU (Gpufit) and CPU (Cpufit) parity for all MRI models</li>
<li>Pre-built binaries for Windows, Linux (CUDA 11.8–13.0), and macOS (CPU)</li>
<li>Python and MATLAB wrappers included</li>
<li>Based on Przybylski et al., <em>Scientific Reports</em> (2017)</li>
</ul>
<div class="card-links">
<a class="btn primary" href="https://github.com/petmri/Gpufit" target="_blank" rel="noopener">GitHub</a>
<a class="btn secondary" href="https://doi.org/10.1038/s41598-017-15313-9" target="_blank" rel="noopener">Paper (Sci Rep 2017)</a>
</div>
</article>

<!-- DCEPrep -->
<article class="card">
<div class="card-header dceprep">
<h3>DCEPrep</h3>
<span class="badge shell">Shell / Python</span>
</div>
<p class="card-desc">
An end-to-end preprocessing and analysis pipeline for brain DCE-MRI.
Wraps FSL, ANTs, FreeSurfer, ROCKETSHIP, and AutoAIF into a single
configurable shell script. Handles VFA-based T1 mapping, bias field
correction, z-axis normalization, head motion correction, AIF
selection, Ktrans fitting, and automated QC reporting. A Docker
image is provided for a consistent, reproducible environment.
</p>
<ul class="card-highlights">
<li>BIDS-compliant input/output</li>
<li>VFA T1 mapping, bias field correction, z-axis normalization</li>
<li>Head motion correction via FSL <code>mcflirt</code></li>
<li>AutoAIF integration for automatic AIF detection</li>
<li>Ktrans / vp mapping + per-case &amp; population HTML QC reports</li>
<li>Docker image available for easy, reproducible deployment</li>
</ul>
<div class="card-links">
<a class="btn primary" href="https://github.com/petmri/DCEPrep" target="_blank" rel="noopener">GitHub</a>
</div>
</article>

</div>
</section>

<section class="comparison">
<h2>Which tool do I need?</h2>
<div class="table-wrap">
<table>
<thead>
<tr>
<th>Task</th>
<th>Tool</th>
</tr>
</thead>
<tbody>
<tr>
<td>Automated complete processing pipeline of BIDS DCE data (motion correction, alignment, artifact correction, create T1 maps, AIF detection, pharmacokinetic fitting, QC)</td>
<td><a href="https://github.com/petmri/DCEPrep" target="_blank" rel="noopener">DCEPrep</a></td>
</tr>
<tr>
<td>Automated preprocessing only of BIDS DCE data (motion correction, alignment, artifact correction)</td>
<td><a href="https://github.com/petmri/DCEPrep" target="_blank" rel="noopener">DCEPrep</a></td>
</tr>
<tr>
<td>Generate T1, T2, or ADC maps</td>
<td><a href="https://github.com/petmri/parametric_scripts" target="_blank" rel="noopener">parametric_scripts</a></td>
</tr>
<tr>
<td>AIF identification, automatically with deep learning (preferred)</td>
<td><a href="https://github.com/petmri/AutoAIF" target="_blank" rel="noopener">AutoAIF</a></td>
</tr>
<tr>
<td>AIF identification, manually draw and save an AIF ROI (multi-rater)</td>
<td><a href="https://github.com/petmri/AIFArtist" target="_blank" rel="noopener">AIFArtist</a></td>
</tr>
<tr>
<td>Scripted low level fast pharmacokinetic model fitting (useful to accelerate other DCE processing pipelines)</td>
<td><a href="https://github.com/petmri/Gpufit" target="_blank" rel="noopener">Gpufit</a></td>
</tr>
<tr>
<td>DCE processing with GUI</td>
<td><a href="https://github.com/petmri/ROCKETSHIP" target="_blank" rel="noopener">ROCKETSHIP</a></td>
</tr>
<tr>
<td>Visualize and compare fit quality and parametric maps</td>
<td><a href="https://github.com/petmri/ROCKETSHIP" target="_blank" rel="noopener">ROCKETSHIP</a> (Module E)</td>
</tr>
</tbody>
</table>
</div>
</section>

<section class="getting-started">
<h2>Quick start</h2>
<div class="qs-grid">
<div class="qs-block">
<h3>ROCKETSHIP</h3>
<pre><code># Clone (includes submodules)
git clone --recursive \
https://github.com/petmri/ROCKETSHIP.git

# In MATLAB, add ROCKETSHIP to the path, then:
run_parametric % Step 1 — T1 maps
run_dce % Step 2 — DCE fitting</code></pre>
</div>
<div class="qs-block">
<h3>AutoAIF</h3>
<pre><code># Clone and set up environment
git clone https://github.com/petmri/AutoAIF.git
cd AutoAIF
python3 -m venv tf && source tf/bin/activate
pip install -r requirements.txt

# Run inference with pretrained weights
python main_vif.py --mode inference \
--input_path /path/to/dce.nii.gz \
--model_weight_path /path/to/weight.h5 \
--save_output_path /path/to/output/</code></pre>
</div>
<div class="qs-block">
<h3>AIFArtist</h3>
<pre><code># Clone and install dependencies
git clone https://github.com/petmri/AIFArtist.git
cd AIFArtist
pip install -r requirements.txt

# Launch the annotation app
python aif_artist.py /path/to/bids_dataset \
--rater AB</code></pre>
</div>
</div>
</section>

<section class="contact">
<h2>Contact &amp; contributing</h2>
<p>
Questions? Open an issue on the relevant repository or contact the lab
maintainer at <a href="mailto:sabarnes@llu.edu">sabarnes@llu.edu</a>.
Contributions via pull request are welcome on all repositories.
</p>
<p>
<a class="btn primary" href="https://github.com/petmri" target="_blank" rel="noopener">View all repositories →</a>
</p>
</section>

</main>

<footer>
<p>
DCEASY (Dynamic Contrast-Enhanced Analysis SYstem) · PET/MRI Lab ·
<a href="https://github.com/petmri" target="_blank" rel="noopener">github.com/petmri</a>
</p>
</footer>

</body>
</html>
Loading
Loading