Deformation Field Interpretation
The deformation image contains all the necessary information about how your registration algorithm has aligned the fixed and moving images. The definition of a deformation vector field can vary, therefore it is important to note that for the EMPIRE10 challenge the values in the deformation fields must be displacement distances in mm. For those unfamiliar with deformation field data, the data will be interpreted as follows:
Suppose we consider a voxel location (xVoxFixed, yVoxFixed, zVoxFixed) in the fixed image, and we wish to know which location in the moving image this corresponds to (according to a particular registration algorithm). This will be determined using the following steps:
- First, we get the deformation information relating to this location from the three deformation images:
defXmm = defX(xVoxFixed, yVoxFixed, zVoxFixed)
and similarly for defYmm and defZmm. Each of defXmm, defYmm and defZmm is a floating point distance, specified in millimetres.
- We need to consider that voxel spacing may be different in the fixed and moving images, so from now on we will work in physical space (rather than in voxel space). We use the fixed image voxel spacing to convert the voxel location (xVoxFixed, yVoxFixed, zVoxFixed) into a physical location (xPhysFixed, yPhysFixed, zPhysFixed). (Note that the image origin is at (0,0,0) in all our images so it is not required when converting to physical space.)
- The moving image location which we require is obtained (in physical space) by:
xPhysMoving = xPhysFixed + defXmm
and similarly for yPhysMoving and zPhysMoving.
- Finally, the moving image location in voxel coordinates (xVoxMoving, yVoxMoving, zVoxMoving) may be obtained from the physical location (xPhysMoving, yPhysMoving, zPhysMoving) using the moving image voxel spacing information.