greetings,<div><br></div><div>I'm working on a multi-slices to volume registration problem and I would like to do this in ITK's framework. I'm familiar with VTK but only a beginner in ITK. I think I have a fair understanding on how to do this properly in ITK and I seek your advice.</div>
<div><br></div><div>Input: </div><div> - a set of freehand US slices in a world coordinate. Associated with each slice is a transform that defines the origin/plane of which the US image lies on. The set of freehand US is fairly sparse so I can NOT reconstruct a 3D US volume. All US slice have the same/fixed spacing/extent that were dictated by the video frame grabber.</div>
<div> - a 3D volume of the same anatomy (either reconstructed from another set of freehand US, CT, or MRI)</div><div><br></div><div><br></div><div>What I can do in *VTK* is: for each US slice, use the associated transform to extract the corresponding slice in the 3D volume via vtkImageReslice. Between these two slices then, I compute a similarity metric.</div>
<div><br></div><div><br></div><div>My question is: how to do this in ITK's registration framework in the proper way? My thoughts are:</div><div><br></div><div>1) stack the freehand US as a 3D volume (*NOT* a reconstruction) since all US slices are of the same size.</div>
<div>2) write my own interpolator class that, for each slice in 1) using itk::ResampleImageFilter to extract the corresponding slice in the 3D volume:</div><div> - from my limited understanding of ITK, itk::ResampleImageFilter accomplishes the same task as vtkImageReslice?</div>
<div> </div><div><br></div><div>another approach is to exact the corresponding slice(s) in the metric computation.</div><div><br></div><div>The broader question is: Is there an existing ITK mechanism for doing multi-slices to volume registration? If not, does my approach sound reasonable?</div>
<div><br></div><div>any advice is very much appreciated,</div>