Scan Conversion

Datasets can be processed in their acquired RF samples form, which preserves full resolution without interpolation errors. Then, can be scan converted (resampled) with these modules for further analysis, registration, analysis, or visualization.

Data is scan converted from a specializations of the itk::SpecialCoordinatesImage data structure to the rectilinear grid itk::Image data structure. The itk::SpecialCoordinatesImage derived classes represent data obtained from a curvilinear array probe, phased array 3D probe, or a series of adjacent, non-overlapping, 2D slices. Sampled as an itk::Image, more image processing and visualizations capabilities are available, but this data structure is also the natural representation of data from a linear array probe.

Resampling Methods

Multiple resampling algorithm implementations are available across all the scan conversion modules. These algorithms vary in performance and accuracy characteristics. They should be selected based on performance requirements and behavior for the probe’s geometry and image contents.

Resampling methods in the Slicer GUI

All resampling methods are available in the three probe geometry scan conversion modules. Select the desired resampling method with the button in the above section.

The ITK methods use the itk::ResampleImageFilter while the VTK methods use the vtkProbeFilter or the vtkPointInterpolator.

ITKLinear
Tri-linear interpolation with the itk::LinearInterpolateImageFunction. This is the default method.
ITKNearestNeighbor
Nearest-neighbor interpolation with the itk::NearestNeighborInterpolateImageFunction.
ITKGaussian
Interpolation with a Gaussian kernel with the itk::GaussianInterpolateImageFunction.
ITKWindowedSinc
Windowed-sinc interpolation with a 3 sample radius Lanczos window using the itk::WindowedSincInterpolateImageFunction.
VTKProbeFilter
Interpolation using the vtkProbeFilter.
VTKVoronoiKernel
Nearest-neighbor-like interpolation using the vtkVoronoiKernel. The kernel uses points within a radius of \(2.1 * maxOutputVoxelSpacing\).
VTKLinearKernel
Kernel-based interpolation averaging all points with vtkLinearKernel. The kernel uses points within a radius of \(2.1 * maxOutputVoxelSpacing\).
VTKShepardKernel
Kernel-based interpolation with weights defined by \(1 / r^2\) with the vtkShepardKernel. The kernel uses points within a radius of \(2.1 * maxOutputVoxelSpacing\).
VTKGaussianKernel
Kernel-based interpolation with a Gaussian kernel using the vtkGaussianKernel. The kernel uses points within a radius of \(2.1 * maxOutputVoxelSpacing\).