data_matching = odl.solvers.L2NormSquared(ray_trafo.range).translated(data) data_matching = data_matching * ray_trafo # compose from the right # Define the lie group to use. lie_grp_type = 'rigid' if lie_grp_type == 'gln': lie_grp = lgd.GLn(space.ndim) deform_action = lgd.MatrixImageAction(lie_grp, space) elif lie_grp_type == 'son': lie_grp = lgd.SOn(space.ndim) deform_action = lgd.MatrixImageAction(lie_grp, space) elif lie_grp_type == 'sln': lie_grp = lgd.SLn(space.ndim) deform_action = lgd.MatrixImageAction(lie_grp, space) elif lie_grp_type == 'affine': lie_grp = lgd.AffineGroup(space.ndim) deform_action = lgd.MatrixImageAffineAction(lie_grp, space) elif lie_grp_type == 'rigid': lie_grp = lgd.EuclideanGroup(space.ndim) deform_action = lgd.MatrixImageAffineAction(lie_grp, space) else: assert False # Define what regularizer to use regularizer = 'point' if regularizer == 'image': # Create set of all points in space W = space.tangent_bundle w = W.element(space.points().T) # Create regularizing functional
# Define data matching functional data_matching = odl.solvers.L2NormSquared(space).translated(target) # Define the lie group to use. lie_grp_type = 'rigid' if lie_grp_type == 'gln': lie_grp = lgd.GLn(1) deform_action = lgd.MatrixImageAction(lie_grp, space) elif lie_grp_type == 'son': lie_grp = lgd.SOn(1) deform_action = lgd.MatrixImageAction(lie_grp, space) elif lie_grp_type == 'sln': lie_grp = lgd.SLn(1) deform_action = lgd.MatrixImageAction(lie_grp, space) elif lie_grp_type == 'affine': lie_grp = lgd.AffineGroup(1) deform_action = lgd.MatrixImageAffineAction(lie_grp, space) elif lie_grp_type == 'rigid': lie_grp = lgd.EuclideanGroup(1) deform_action = lgd.MatrixImageAffineAction(lie_grp, space) else: assert False # Define what regularizer to use regularizer = 'image' if regularizer == 'image': # Create set of all points in space W = space.tangent_bundle w = W.element(space.points().T) # Create regularizing functional