2011 Winter Project Week:Intra-ProceduralProstateMotion

From NAMIC Wiki
Revision as of 23:07, 13 January 2011 by Fedorov (talk | contribs) (→‎Results)
Jump to: navigation, search
Home < 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
  • Experiment 2: sparse volume registration by masking individual slices in the full volume: Axial slice, Axial+Cor slices, Axial+Cor+Sag slices
  • 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

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

Reported values are average (maximum) difference in mm over the volume of interest (prostate gland) between the transform obtained using whole volume needle confirmation image VS sparse volume needle confirmation images (axial, axial+cor, axial+cor+sag slices).

High-res volume Needle confirmation volume 1 Needle confirmation volume 2
Tfm magn Axial slice Axial+Cor slice Axial+Cor+Sag slice Tfm magn Axial slice Axial+Cor slice Axial+Cor+Sag slice
TR03 1.8 (3.3) 0.9 (2.2) 0.9 (2.1) 0.8 (1.8) 2.0 (3.0) 0.9 (2.1) 0.9 (2.1) 0.8 (1.9)
TR02 7.4 (12.1) 3.1 (6.7) 2.8 (6.3) 2.6 (6.1) 6.7 (10.7) 4.1 (9.4) 3.9 (8.8) 4.0 (9.1)
TR01 2.3 (3.1) 1.2 (2.3) 1.2 (2.3) 1.3 (2.3) 2.5 (3.0) 1.5 (3.3) 1.5 (3.3) 1.6 (3.5)
TP9 5.2 (7.10263) 0.9 (2.04737) 0.8 (1.89166) 0.6 (1.33799)
TP10 4.5 (6.7) 1.7 (2.0) 1.7 (1.9) 1.5 (2.1) 1.2 (1.4) 0.3 (0.7) 0.3 (0.5) 0.3 (0.5)
TP11 1.9 (2.5) 0.3 (0.5) 0.2 (0.4) 0.2 (0.4) 2.2 (2.7) 0.3 (0.6) 0.2 (0.6) 0.2 (0.6)

References