Image Registration with Automatic Computation of Gradients

Kahn, Eliezer1*,Staib, Lawrence
1.JHUAPL
Abstract
Image Registration with Automatic Computation of Gradients

Abstract

Many image registration algorithms are formulated as optimization problems with a gradient descent based solver, One difficulty with designing and implementing such methods is in the implementation of the gradient computation. This process can be time-consuming and error-prone. In addition some functions do not have gradients that can be expressed in symbolic form. Automatic differentiation is useful for computing gradients of complicated objective functions. It moves the burden of computing gradients from the programmer to the computer. So far, AD has not been exploited for use in image registration. This paper describes a software library the authors have developed to automate the process of computing gradients of registration objective functions. This can alleviate the job of registration designers somewhat and potentially make it easier to design better registration algorithms.

Keywords

automatic differentiationnonrigid image registration
Manuscript
Source Code and Data

Source Code and Data

irad-1.0.0CMakeLists.txt1.2 KBLICENSE14.8 KBREADME1.1 KBarticleInsightArticle.cls4.1 KBInsightJournal.sty34.6 KBMakefile839 BMetricsClassDiagram.eps71.3 KBTransformsClassDiagram.eps72.5 KBarticle.tex13.3 KBpicins.sty17.3 KBplanetSlice.eps38.1 KBplanetSurfaceRendering.eps336.5 KBreferences.bib5.9 KBtransformed_Bspline.eps1.6 MBtransformed_Bspline_grid.eps28.6 KBtransformed_TPS.eps1.6 MBtransformed_TPS_grid.eps29 KBdatacontrol_points_file.txt37 KBgrid.vtk4 MBplanet.vtk4 MBplanet_noise.vtk4 MBsphere.vtk4 MBsphere_noise.vtk4 MBsphere_small_noise.vtk4 MBsphere_small_shifted_noise.vtk4 MBsrcAlgorithmsCMakeLists.txt301 BitkekADMattesMutualInformationImageToImageMetric.h16.9 KBitkekADMattesMutualInformationImageToImageMetric.txx50.2 KBitkekADMeanSquaresImageToImageMetric.h3.6 KBitkekADMeanSquaresImageToImageMetric.txx14.5 KBitkekADOLCImageValue.h3 KBitkekADRevolveImageToImageMetricBase.h5.7 KBitkekADRevolveImageToImageMetricBase.txx8.8 KBitkekADRevolveMattesMutualInformationImageToImageMetric.cxx37.5 KBitkekADRevolveMattesMutualInformationImageToImageMetric.h8.8 KBitkekADRevolveMeanSquaresImageToImageMetric.cxx7.2 KBitkekADRevolveMeanSquaresImageToImageMetric.h3.4 KBitkekMattesMutualInformationImageToImageMetric.h16.6 KBitkekMattesMutualInformationImageToImageMetric.txx47 KBitkekMeanSquaresImageToImageMetric.h3.2 KBitkekMeanSquaresImageToImageMetric.txx13.7 KBApplicationsCMakeLists.txt1.2 KBRegister.cxx34.5 KBTransform.cxx6.4 KBtest.sh8.9 KBCMakeLists.txt58 BCommonCMakeLists.txt201 BitkekADRevolveBSplineDeformableTransform.h14 KBitkekADRevolveBSplineDeformableTransform.txx34 KBitkekADRevolveEuler3DTransform.h5.9 KBitkekADRevolveEuler3DTransform.txx10.6 KBitkekADRevolveMatrixOffsetTransformBase.h17.3 KBitkekADRevolveMatrixOffsetTransformBase.txx18 KBitkekADRevolveRBFTransform.cxx23.4 KBitkekADRevolveRBFTransform.h7.7 KBitkekADRevolveTransformBase.h2.9 KBitkekADRevolveTransformBase.txx924 BitkekLoadSaveAffineTransform.h1.1 KBitkekLoadSaveAffineTransform.txx3.2 KBitkekMacro.h403 BitkekRBFMatrix.h2 KBadcheckCHANGES4.3 KBCMakeLists.txt338 BCOPYING11.7 KBJumptableMacros.h5.9 KBObjectiveFunctionBase.cpp1.6 KBObjectiveFunctionBase.h2.8 KBREADME964 BRevolveDriver.cpp10.5 KBRevolveDriver.h2.9 KBTestCheckpointing.cpp2.5 KBadolc.cpp306.9 KBadolc.h63.8 KBdvlparms.h2.1 KBrevolve.c18 KBrevolve.h386 Busrparms.h4 KBmy_getoptCMakeLists.txt112 BLICENSE1.1 KBgetopt.h1.8 KBmy_getopt.c9 KBmy_getopt.h2.4 KB

Select a file to preview