Skip to content
Snippets Groups Projects
Commit 01a13b91 authored by Joshua Steer's avatar Joshua Steer
Browse files

Added scaling into registration code

parent e3d038fd
No related branches found
No related tags found
No related merge requests found
Pipeline #267 passed
......@@ -35,11 +35,11 @@ class pca(object):
for s in self.shapes:
s.planarTrim(height)
def register(self):
def register(self, scale=None):
r"""
Function to register all the shapes to a baseline
"""
self.registered = [registration(self.baseline, t) for t in self.shapes]
self.registered = [registration(self.baseline, t, fixBrim=True, steps=10).reg for t in self.shapes]
self.X = np.array([r.vert.flatten() for r in self.registered]).T
def pca(self):
......
......@@ -47,7 +47,8 @@ class registration(object):
getattr(self, method)(*args, **kwargs)
def point2plane(self, steps = 1, neigh = 10, inside = True, subset = None, smooth=1, fixBrim=False):
def point2plane(self, steps = 1, neigh = 10, inside = True, subset = None,
scale=False, smooth=1, fixBrim=False):
r"""
Point to Plane method for registration between the two meshes
......@@ -80,6 +81,13 @@ class registration(object):
[self.b.vert, self.b.faces, self.b.values]))
regData = copy.deepcopy(bData)
self.reg = AmpObject(regData, stype='reg')
if scale is not None:
tmin = self.t.vert.min(axis=0)[2]
rmin = self.reg.vert.min(axis=0)[2]
SF = 1 - ((tmin-scale)/(rmin-scale))
logic = self.reg.vert[:, 2] < scale
d = (self.reg.vert[logic, 2] - scale) * SF
self.reg.vert[logic, 2] += d
normals = np.cross(self.t.vert[self.t.faces[:,1]] -
self.t.vert[self.t.faces[:,0]],
self.t.vert[self.t.faces[:,2]] -
......
......@@ -143,7 +143,6 @@ class AmpScanGUI(QMainWindow):
ang = float(button.text())
idx = [0, 0, 1]
self.files[moving].rotateAng([ang*i for i in idx], 'deg')
print(self.files[moving].actor.GetOrigin())
self.files[moving].tform.RotateZ(ang)
self.renWin.Render()
......@@ -188,8 +187,8 @@ class AmpScanGUI(QMainWindow):
maxiter=10, method='linPoint2Plane').m
al.tform = vtk.vtkTransform()
al.tform.PostMultiply()
al.actor.SetUserTransform(al.tform)
al.addActor()
al.actor.SetUserTransform(al.tform)
alName = moving + '_al'
self.files[alName] = al
self.filesDrop.append(alName)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment