2011 Winter Project Week:Intra-ProceduralProstateMotion
Key Investigators
- BWH: Andrey Fedorov
- Queens University: Andras Lasso
Objective
Multi-parametric diagnostic MRI was shown to be important in localization of prostate cancer. MR-guided prostate cancer biopsy (using transperineal access at BWH, transrectal access at Queen's clinical partners) performed in the closed bore MR scanner relies on image registration between the intra-procedural configuration of the prostate gland and the pre-procedural diagnostic MRI to locate the suspected cancer regions and guide the biopsy sample collection. Intra-operative image acquisition includes a volumetric scan of the whole prostate gland in the beginning of the procedure, followed by single-slice (or few orthogonal slices) acquisitions throughout the procedure with the purpose of confirming biopsy needle location. In the current image processing workflow, the diagnostic MRI is registered with the initial intra-procedural MRI.
One of the challenges we are facing is the motion and deformation of the prostate gland during the course of the procedure, which is typically ~1 hour long. Significant patient motion may invalidate the result of the initial pre- to intra-procedural MRI registration.
Our objective is to develop robust image acquisition and registration protocols to detect and compensate for the intra-procedural prostate motion/deformation, preferably using single-slice acquisitions throughout the procedure.
Approach, Plan
- evaluate and compare the solutions developed at BWH and Queens for volume-to-slice registration on the common data
- seek input from NA-MIC registration experts on the design of the registration approach
- discuss the high-level approach and plans for integrating volume-to-slice registration functionality into ProstateNav Slicer module
- discuss with Slicer engineering core plans and challenges in improving support for deformable transformations in 3D Slcer
Experimental setup:
- compare performance of the sparse volume registration tools, and correlate with the full volume registration results; this experiment will be done (1) between the volume obtained in the beginning of the procedure and needle conf volume and (2) between two needle confirmation volumes both for TR and TP Bx approaches for two patients.
- Experiment 1: full volume registration (using Fast Rigid Registration or slice to volume registration)
- Experiment 2: sparse volume registration by masking individual slices in the full volume: single slice, orthogonal slices
- Experiment 3: sparse volume registration with sparse volume reconstructed from 3 orthogonal slices of the comparable resolution
- Comparison metrics: difference wrt the transform obtained in Exp. 1, execution time
Dissemination
http://viewvc.slicer.org/viewcvs.cgi/trunk/SLC2011-ProstateRegistration/?root=NAMICSandBox
Data
- TR01: 20101021_PMH
- Not much patient motion (about 1-2mm)
- TR02: 20100721_JHU
- Large (abour 3-5mm) patient motion between T2 and needle confirmation image
- Small patient motion between needle confirmation images
- Registration doesn't work with 1 slice (it gives identity matrix as a result): File: c:\users\andras\devel\slicer-3.6\slicer3-lib\insight\code\review\itkOptMattesMutualInformationImageToImageMetric.txx. Line: 1046. Description: itk::ERROR: MattesMutualInformationImageToImageMetric(01012928): Joint PDF summed to zero
- Registration does work with 3 slices
- TR03: 20101216_NIH
- Slight rotation between T2 and needle confirmation image
- Negligible patient motion between needle confirmation images
- DoRegistration doesn't work with 1 slice (it gives identity matrix as a result): Optimizer stop condition: VersorRigid3DTransformOptimizer: Gradient magnitude tolerance met after 0 iterations. Gradient magnitude (0) is less than gradient magnitude tolerance (0.0001).
- Registration does work with 3 slices
- TP09: Case009
- TP10: Case010
- TP11: Case011
Bugs
- itkOptImageToImageMetric gives different result if executed on single vs. multiple threads.
- ImageSpatialObject< TDimension, PixelType >::ValueAt evaluates the value at a different position than ImageMaskSpatialObject< TDimension >::IsInside (which determines if the point is inside or not)
BWH slice-volume rigid registration
- VolumeToSliceRegistration (BWH): rigidly register initial multi-slice intra-procedural volume to the needle confirmation slice/volume. Needle confirmation volume is fixed. Gaussian smoothing is applied to needle confirmation scan. Metric is NMI, optimizer is VersorRigid3DTransformOptimizer. The code accepts binary mask that allows to restrict the metric sampling region in the fixed volume. Source code: http://viewvc.slicer.org/viewcvs.cgi/trunk/SLC2011-ProstateRegistration/SliceToVolumeRegistration/SliceRegistration.cxx
Queen's registration algo steps:
- rescale the fixed image to have the same min/max intensity as the moving image
- reads in the GT deformation field
- set up fixed image regions based on VOI params
- set up metrics: MeanSquaresSparseVolumeToVolumeMetric + NC2SparseVolumeToVolumeMetric + ViolaWellsSparseVolumeToVolumeMetric
- set multiple fixed image regions for all the metrics
- register: CMAEvolutionStrategyOptimizer, rigid translation, mutual information metric; CenteredTransformInitializer; both volumes smoothed
- apply determined transform
- register: RegularStepGradientDescentOptimizer (constrain translation), Euler 3D transform, mutual information metric; *CenteredTransformInitializer; both volumes smoothed
- apply determined transform
- register: MeanSquaresSparseVolumeToVolumeMetric/NC2SparseVolumeToVolumeMetric/ViolaWellsSparseVolumeToVolumeMetric, RegularStepGradientDescentOptimizer, affine transform,
- apply determined transform
- register: bspline transform 5 nodes, same metric, GD optimizer
- register: bspline transform 15 nodes, same metric, GD optimizer
Results
High-res volume | Needle confirmation volume 1 | Needle confirmation volume 2 | ||||
Axial slice | Axial+Cor slice | Axial+Cor+Sag slice | Axial slice | Axial+Cor slice | Axial+Cor+Sag slice | |
TR03 | 0.972412 (2.2552) | 0.928488 (2.12814) | 0.813268 (1.87378) | 0.909536 (2.10064) | 0.925939 (2.11797) | 0.802316 (1.92673) |
TR02 | 3.11017 (6.77063) | 2.8775 (6.3492) | 2.61801 (6.13718) | 4.13338 (9.41855) | 3.91294 (8.89295) | 4.04096 (9.15673) |
TR01 | 1.29464 (2.35035) | 1.25446 (2.30052) | 1.30827 (2.38687) | 1.56351 (3.35983) | 1.55336 (3.33579) | 1.61389 (3.5449) |
TP9 | 0.91871 (2.04737) | 0.863062 (1.89166) | 0.611058 (1.33799) | |||
TP10 | 1.7524 (2.03537) | 1.70203 (1.98416) | 1.56136 (2.19852) | 0.395084 (0.758469) | 0.374242 (0.578637) | 0.323878 (0.531946) |
TP11 | 0.310003 (0.537762) | 0.27577 (0.466035) | 0.25889 (0.431164) | 0.300468 (0.626933) | 0.285768 (0.631178) | 0.2792 (0.641901) |
References
- H. Tadayyon, A. Lasso, S. Gill, A. Kaushal, P. Guion, and G. Fichtinger, Target Motion Compensation in MRI-guided Prostate Biopsy with Static Images, EMBC2010 - 32nd Annual International Conference of the IEEE Engineering in Medicine and Biology Society, 2010
- H. Tadayyon, MRI-Guided Prostate Motion Tracking using Multislice-to-Volume Registration, MASc Thesis, 2010