- Registration:
- Efficient ray casters for 2D/3D registration and visualization:
- Image similarity metrics for driving 2D/3D registrations:
- Sum of squared differences (SSD) (CPU and OpenCL)
- Normalized cross correlation (NCC) (CPU and OpenCL)
- NCC of Sobel Gradients (Grad-NCC) (CPU and OpenCL)
- Gradient orientation (GO) (CPU)
- Gradient difference (Grad-Diff) (CPU)
- Patch-wise NCC (Patch-NCC) (CPU and OpenCL)
- Patch-wise Grad-NCC (Patch-Grad-NCC) (CPU and OpenCL)
- Boundary contour distance (CPU)
- Extendable common interface (CPU, OpenCL, and more)
- Various optimization strategies for 2D/3D intensity-based registration:
- Regularizers for 2D/3D intensity-based registration:
- Rotation and translation magnitudes
- Euler decomposition magnitudes
- Rotation and translation magnitudes of relative pose between multiple objects
- Relative pose difference from nominal AP pose
- Landmark re-projection distances
- Heuristics for automatic global pelvis registration
- Combination of regularizers
- Extendable common interface
- Pipeline for chaining together 2D/3D registrations (intensity-based and feature-based) for solving registration problems with multiple-resolutions and views
- Perspective-n-Point (PnP) solvers (paired point 2D/3D)
- Paired Point 3D/3D
- 3D Point Cloud to 3D Surface ICP
- Mesh Processing:
- Image/Volume Processing:
- Interpolation of non-uniform spaced slices
- Image processing operations leveraging lower-level ITK and OpenCV routines
- Conversion of Hounsfield units (HU) to linear attenuation
- Poisson noise
- Image intensity log transform
- Piecewise rigid volume warping using label maps
- Numerical Optimization:
- Configurable line search implementation
- Implementations of several derivative-free methods, including Differential Evolution, Simulated Annealing, and Particle Swarm Optimization
- Wrapper around C implementation of CMA-ES optimization
- Suite of test objective functions
- Geometric Primitives and Spatial Data Structures
- KD-Tree for points or surfaces of arbitrary dimension
- Primitives with support for intersection, etc.
- Fitting primitives to data (circle, plane) with robustness to outliers
- Spatial Transformation Utilities:
- Rotation and rigid transformation utilities, including lie group/algebra routines
- Perspective projection (3D to 2D)
- Calculation of anatomical coordinate frames
- Point cloud manipulation
- Visualization
- File I/O:
- Common DICOM fields
- DICOM files from Siemens CIOS Fusion C-arm
- Helpers for HDF5 reading/writing
- Various mesh formats
- Various image/volume formats (via ITK)
- 3D Slicer annotations, FCSV and ACSV
- Comma separated value (CSV) files
- Basic Math Utilities:
- Basic statistics
- Distribution fitting
- Uniformly distributed N-D unit vector sampling
- Common interface for probability densities and instances for common distributions:
- General/Common:
- Hip Surgery:
- Guessing labels of bones from segmentation volumes
- Planning and modeling of osteotomies
- Visualization of osteotomies in 3D
- Modeling of surgical objects, such as screws and K-wires
- Support for simulated data creation, including randomized screw and K-wire shapes and poses, and volumetric data incorporating osteotomies, repositioned bones, and inserted screws and K-wires
Some of the capabilities provided by individual programs contained with the apps directory include:
- Image I/O:
- Mesh processing:
- Basic point cloud operations:
- Registration
- General utilities for projection data:
- Advanced visualization of projective geometry coordinate frames with a scene of 3D objects
- Remap and tile projection data for visualization
- Tool for creating movie replays of 2D/3D registration processing
- Extract projection into NIFTY format (.nii/.nii.gz)
- Insert landmarks (FCSV) into HDF5 projection data
- Hip Surgery: Periacetabular Osteotomy (PAO)
- Osteotomy planning and modeling
- Osteotomy 3D visualization
- Randomized simulation of fragment adjustments
- Volumetric modeling of fragment adjustments
- Volumetric modeling of fragment fixation using screws and K-wires
- Creation of simulated fluoroscopy for 2D/3D registration experiments
- Examples of 2D/3D, fluoroscopy to CT, registration