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.
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\).