Quantification of atlas registration performance
Register two images to atlas, then find overlap of their cartilage
(transport cartilage from image A to atlas then to image B, compute in image B coordinates, so directly comparable to registering image A to image B)
Performance of unmodified ICON registering both images to atlas: 67.4
Performance of unmodified ICON registering images to each other directly (ICON paper) 68.3
Adaptation of ICON to atlas registration
new network wrapper "Atlas Wrapper:"
class AtlasRegistrationNet(torch.nn.Module):
def __init__(self, net, atlas):
super(AtlasRegistrationNet, self).__init__()
self.net = net
self.register_buffer("atlas", atlas)
def forward(self, x, y):
# Tag for optimization. Must be set at the beginning of forward because it is not preserved by .cuda()
self.identityMap.isIdentity = True
phi = self.net(x, self.atlas)
psi = self.net(self.atlas, y)
ret = lambda
concept: The two image to atlas registrations cannot communicate, so for the composition to be inverse consistent, each one must individually be inverse consistent
Currently training on OAI dataset. performance only 39 DICE, but this is to be expected so early in training.
Work on oaianalysis2
Merged mesh pull request, now massaging structure, putting tests together- will have all three pieces working together shortly
Roland thoughts
cluster images by registration
do zhipeng's thing
chain along longitudinal data
register to 100 random knees, use mse losses as a feature vector
Back to Reports