Performs Iterative Closest Point Image Registration on a DICOM series and a surface (.OBJ) file of a spine.
- Read in DICOM dataset and OBJ file
- Filter the DICOM series
- Apply a global threshold to the DICOM series
- Use the Marching Cubes algorithm to generate a surface rendering of the DICOM series
- Perform ICP registration and save the transformation matrix
- Transform the original DICOM image to the OBJ image space
- Re-apply the threshold and surface rendering steps on the transformed DICOM image
- Visualize the results (overlay)
-
Create a folder for the build (e.g. bin, build, etc.)
-
Build with CMake and your favorite compiler.
-
Run the executable that is generated in the bin\Debug folder from the command line
vtkRegistration.exe <PATH_TO_DICOM_FOLDER> <PATH_TO_OBJ_FILE>
-
Follow the prompts after running the above command to enter required threshold and isosurface values
- The amount of triangles used in the Marching Cubes algorithm is reduced to half to decrease computation time
- The user can enter the threshold limits, however, for the spine image provided in this assignment it is recommended to use values of -800 and -600
- The maximum number of iterations performed by the registration is set to 75, but can be increased if needed
- The original (untransformed) DICOM image can be visualized along with the registered result, but has been commented out to decrease computation time