Surface to Pointer I2P Registration
Use a tracked pointer to indicate the skin surface, then register to a skin surface segmented from image data.
Note! This widget must be visible during active recording for pointer tracking data to be stored.
Steps:
- Make sure an initial patient registration is in place (this method is local).
- Segment a skin surface from your image data, then set the surface as fixed data.
- Start recording, then move the pointer over the skin area in question. The movement should generate a surface that contains enough variation such that it can be matched to the segmented surface.
- The two surfaces are registered to each other using the ICP Algorithm, and the patient registration is updated.
How to get a surface from your image
A nice skin segmentation algorithm can be found in Slicer3D. Use the following procedure to use it:
Procedure:
- Send volume to Slicer3D using Network Data Transfer Widget. Set RAS as protocol when sending to Slicer3D (CustusX uses LTS). Alternatively, file transfer can be used. Slicer3D IGTLinkIF must be configured to receive the volume.
- Create foreground image using Slicer3D: Foreground masking Module (BRAINS).
- Run a contouring on the mask using the Model Maker Module in order to get a surface.
- Send surface back to CustusX using the same OpenIGTLink connection used earlier.
Point Cloud I2P Registration
Use the ICP Algorithm to perform a patient registration.
- The fixed data is a point cloud in the reference space.
- The moving data is interpreted as being in the Patient Reference space, i.e. acquired physical data.
- The algorithm will perform a registration, then modify the patient registration (see Specific Spaces) to match the two data sets to each other.
This is a generalization of the Surface to Pointer I2P Registration.
Intended usage: Surface-to-surface registration. Extract the surface of an image, then acquire the same surface using physical aquisition such as a laser scanner. Registration will move the surface onto the physical data.