Skip to content
Snippets Groups Projects

Pinyili2

Merged pinyili2 requested to merge pinyili2 into master
+ 23
0
@@ -2316,6 +2316,29 @@ class SegmentModel(ArbdModel):
tck, u = interpolate.splprep( quats.T, u=contours, s=0, k=1 )
s.quaternion_spline_params = (tck,u)
def update_reader_list_coordinates(self):
new_coords = np.empty(self._reader_list_coordinates.shape)
new_orientations = np.empty(self._reader_list_orientation.shape)
for seg in self.segments:
c = seg.nt_pos_to_contour(np.arange(seg.num_nt))
sl0 = (self._reader_list_hmap == seg._helix_idx)
pos = seg.contour_to_position( c )
orientation = seg.contour_to_orientation( c )
sl1 = (self._reader_list_fwd == True)
order = np.argsort( self._reader_list_hmap_hrank[sl0 & sl1] )
new_coords[sl0 & sl1][order] = pos
new_orientations[sl0 & sl1][order] = orientation
sl1 = (self._reader_list_fwd == False)
order = np.argsort( self._reader_list_hmap_hrank[sl0 & sl1] )
new_coords[sl0 & sl1][order] = pos
new_orientations[sl0 & sl1][order] = np.array([o.dot(rotationAboutAxis((1,0,0),180)) for o in orientation])
self._reader_list_coordinates = new_coords
self._reader_list_orientation = new_orientations
def get_segments_matching(self, pattern):
""" Returns a list of all segments that match the regular expression 'pattern' """
Loading