Skip to content

petmri/ROCKETSHIP

Repository files navigation

ROCKETSHIP v1.3

ROCKETSHIP is a toolbox for processing and analyzing parametric MRI and DCE-MRI data. It was developed at the Biological Imaging Center at the California Institute of Technology and Loma Linda University.

If you use ROCKETSHIP in your project, please cite:

Ng, T.S.C., et al. ROCKETSHIP: a flexible and modular software tool for the planning, processing and analysis of dynamic MRI studies. BMC Medical Imaging, 15, 19 (2015). PMID: 26076957

ROCKETSHIP Logo

Help

For documentation and how-to guides, use the project docs site:

The GitHub Wiki is being migrated and will be kept for transition notices.

ROCKETSHIP Papers

If you are using ROCKETSHIP for DCE-MRI, please cite this paper, which also has detailed information about the DCE models used in this project:

Ng, T.S.C., et al. ROCKETSHIP: a flexible and modular software tool for the planning, processing and analysis of dynamic MRI studies. BMC Medical Imaging, 15, 19 (2015). PMID: 26076957

If you are pursuing BBB human applications, please also consider:

Barnes, S.R., et al. Optimal acquisition and modeling parameters for accurate assessment of low Ktrans blood-brain barrier permeability using dynamic contrast-enhanced MRI. Magnetic Resonance in Medicine, 75(5), 1967-1977 (2016). PMID: 26077645

Montagne, A., et al. Blood-brain barrier breakdown in the aging human hippocampus. Neuron, 85(2), 296-302 (2015). PMID: 25611508

Other publications using ROCKETSHIP (for a more complete list, see Google Scholar):

ROCKETSHIP MATLAB

The MATLAB scripts are the original implementation of ROCKETSHIP and are still available in this repository for users who prefer that environment or have existing workflows built around it. However, the Python module is the recommended path forward for new users and projects, as it offers more flexible configuration, and automation options. New features and updates will primarily be developed in the Python module, while the MATLAB scripts will be maintained for compatibility but may not receive all new features or optimizations.

Requirements:

  • MATLAB Version

    • CI tested: MATLAB 2020b, 2022a, 2025a (likely compatible with older versions, but not tested).
  • Toolboxes:

    • Curve fitting
    • Parallel
    • Statistics
    • Image processing
  • Computer:

    • Some of the processing is very CPU intensive, a modern multi-core (≥4) processor, while not required, helps keep the processing time reasonable (heavily dependent on image matrix size).
    • (Optional) An NVIDIA GPU can be used to significantly speed up processing by using the gpufit library.
    • Python port note: Stage-D tofts/patlak can also accelerate on CPU via pyCpufit when CUDA is not available (see python/README.md).

MATLAB Quick Start

  1. Clone ROCKETSHIP: git clone --recursive https://github.com/petmri/ROCKETSHIP.git
  2. Add the ROCKETSHIP folder to the MATLAB path
  3. Calculate T1 maps with script run_parametric.m
  4. Check T1 maps with script run_analysis.m
  5. Calculate DCE maps with script run_dce.m

File formats

ROCKETSHIP prefers NIFTI input images. DCE fitting has limited support for direct DICOM processing, but converting DICOM to NIFTI first is recommended. Parametric fitting (T1, T2, ADC) requires NIFTI files. For conversion, we recommend dcm2nii (bundled with MRIcron), available on Windows, Linux, and macOS (any equivalent converter is also acceptable). For dcm2nii, select the FSL 4D NIFTI format. Compressed NIFTI images (.nii.gz) can be read by ROCKETSHIP, but are not written.

MATLAB file map (curated)

This section intentionally lists the major legacy MATLAB entry points and core implementation files, rather than every helper file.

DCE module (dce/)

Top-level workflow / GUI

  • dce.m, dce.fig — legacy main DCE GUI wrapper.
  • RUNA.m/RUNA.fig — Stage A controls (signal/T1 to concentration prep).
  • RUNB.m/RUNB.fig — Stage B controls (AIF/reference-region setup and fitting).
  • RUND.m/RUND.fig — Stage D controls (model fitting and map generation).

Core pipeline stages (used by CLI and GUI paths)

  • A_make_R1maps_func.m — Stage A processing from input images/masks.
  • B_AIF_fitting_func.m — Stage B AIF/reference fitting and timing handling.
  • D_fit_voxels_func.m — Stage D voxel/ROI model fitting and output maps.
  • FXLfit_generic.m — shared constrained-fit machinery used across models.

Primary kinetic models

  • model_tofts.m, model_tofts_cfit.m
  • model_extended_tofts.m, model_extended_tofts_cfit.m
  • model_patlak.m, model_patlak_linear.m, model_patlak_cfit.m
  • model_tissue_uptake.m, model_tissue_uptake_cfit.m
  • model_2cxm.m, model_2cxm_cfit.m
  • model_vp.m, model_vp_cfit.m
  • model_fxr.m, model_fxr_cfit.m
  • model_FXL_reference_region.m, model_FXL_reference_region_cfit.m

Post-fit analysis / review

  • fitting_analysis.m, fitting_analysis.fig — legacy Part E analysis GUI.
  • compare_fits.m, compare_gui.m, compare_gui.fig — model comparison helpers.
  • auc_helper.m, plot_curve.m, plot_dce_curve.m — reporting/curve utilities.

Configuration and key shared helpers

  • dce_preferences.txt — model/solver defaults and limits.
  • parse_preference_file.m — preference parser used across DCE MATLAB workflows.
  • dce_auto_aif.m, AIFbiexpcon.m, AIFbiexpfithelp.m — AIF-specific logic.
  • loadIMGVOL.m, sortIMGVOL.m, sort_parse_INPUTS.m — image input/parsing helpers.

Parametric mapping module (parametric_scripts/)

Top-level workflow / GUI

  • fitting_gui.m, fitting_gui.fig — legacy parametric fitting GUI.
  • fitting_script.m — script-driven fitting wrapper.

Core fitting implementation

  • calculateMap.m, calculateMap_batch.m — map-level execution.
  • fitParameter.m — model fitting backend for T1/T2/ADC-type fits.
  • parallelFit.m, prepareFit.m, setup_job.m — parallel and setup helpers.
  • check_TRfit.m, quick_check.m — input sanity and fit checks.

Custom scripts and configuration

  • custom_scripts/T1mapping_fit.m — legacy T1 map workflow script.
  • parametric_preferences.txt — parametric defaults.

External MATLAB dependencies (external_programs/)

Included third-party utilities and accelerator interfaces used by legacy MATLAB workflows:

General utilities / UI

  • DataHash.m
  • ProgressBar.m, TimedProgressBar.m
  • ftest.m
  • ReadImageJROI.m
  • imshow3D.m, imshow3D_new.m, imshow3D_overlays.m
  • uiremember.m, uirestore.m

NIfTI I/O

  • niftitools/ — bundled NIfTI read/write toolbox used by MATLAB paths.

GPUfit / CPUfit interfaces

  • MATLAB wrappers: gpufit.m, gpufit_constrained.m, cpufit.m, gpufit_version.m, gpufit_cuda_available.m
  • MEX binaries: GpufitMex.mexa64, GpufitConstrainedMex.mexa64, GpufitCudaAvailableMex.mexa64, CpufitMex.mexa64
  • Shared libraries: libGpufit.so, libCpufit.so
  • Enums: ModelID.m, EstimatorID.m, ConstraintType.m

For license details, see the corresponding *_license.txt files in external_programs/.

About

Dynamic Contrast Enhanced (DCE) MRI Analysis Software

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors