Skip to content

Implementation of RESOLUTE pseudo-CT method for mMR.

License

Notifications You must be signed in to change notification settings

UCL/petmr-RESOLUTE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

petmr-RESOLUTE

Build Status Codacy Badge DOI

Implementation of the RESOLUTE pseudo-CT (pCT) method for the Siemens mMR.

If you use the RESOLUTE pCT approach in your work, please cite the following paper:

  • Region specific optimization of continuous linear attenuation coefficients based on UTE (RESOLUTE): application to PET/MR brain imaging. Ladefoged, C. N., Benoit, D., Law, I., Holm, S., Kjaer, A., Hojgaard, L., … Andersen, F. L. (2015). Physics in Medicine and Biology, 60(20), 8047–8065. DOI

Required packages

  • ANTs
  • ITK (Note. this can be built when compiling ANTs)
  • Boost
  • glog
  • DCMTK. The application dcmodify must be available on your path.

Template and mask images

The images that are required to run this application are available on Zenodo: DOI

Please extract the zip and amend the JSON file as described below.

Basic usage

./resolute -i <DICOMDIR> -j <JSON>

where <DICOMDIR> contains both the UTE and MRAC DICOM data for a given patient and <JSON> is the JSON configuration file. The application will produce a folder in the output directory specified in the JSON file. The output folder is named using the Study UID, and inside this folder will be a new DICOM series comprising the RESOLUTE MRAC image.

Configuration file

A skeleton JSON file can be created with the command:

./resolute --create-json <MYJSONFILE>

where <MYJSONFILE> is an output filename. The skeleton will look like this:

{
    "MRACSeriesName": "Head_MRAC_PET_UTE_UMAP",
    "UTE1SeriesName": "Head_MRAC_PET_UTE",
    "UTE1TE": "0.07",
    "UTE2SeriesName": "Head_MRAC_PET_UTE",
    "UTE2TE": "2.46",
    "destDir": ".",
    "destExportMethod": "FILE",
    "destFileType": ".nii.gz",
    "logDir": "./logs",
    "regArgs": "3 -m CC[<%%REF%%>,<%%FLOAT%%>,1,4] -i 10x5x2 -o <%%PREFIX%%> -t SyN[0.5] -r Gauss[3,0] -G",
    "regName": "ANTS",
    "regTemplatePath": "",
    "version": "0.0.1"
}

Fill in the desired output directory in the variable destDir, and the path to the registration template manifest.json in regTemplatePath, e.g.

{
    "MRACSeriesName": "Head_MRAC_PET_UTE_UMAP",
    "UTE1SeriesName": "Head_MRAC_PET_UTE",
    "UTE1TE": "0.07",
    "UTE2SeriesName": "Head_MRAC_PET_UTE",
    "UTE2TE": "2.46",
    "destDir": "./OUTPUT",
    "destExportMethod": "FILE",
    "destFileType": ".nii.gz",
    "logDir": "./logs",
    "regName": "ANTS",
    "regTemplatePath": "/path/to/template/manifest.json",
    "regArgs": "3 -m CC[<%%REF%%>,<%%FLOAT%%>,1,4] -i 10x5x2 -o <%%PREFIX%%> -t SyN[0.5] -r Gauss[3,0] -G",
    "version": "0.0.1"
}