cleanup: now the debug images are only outputted in debug mode
also removed debugging traces
This commit is contained in:
parent
0d41944c2a
commit
efade89a57
|
@ -71,7 +71,7 @@ def hdf5_to_trac_data(hdf5_file_path: Path):
|
|||
date = f.attrs['date'] # noqa
|
||||
trac_data.num_frames = f.attrs['nFrames']
|
||||
trac_data.image_size = f.attrs['size']
|
||||
print(type(trac_data.image_size))
|
||||
# print(type(trac_data.image_size))
|
||||
# f.attrs['size'] = I0f.shape
|
||||
# for items in th[0].keys():
|
||||
# f.attrs['th:' + items] = th[0][items]
|
||||
|
@ -97,11 +97,10 @@ class SlopeFinder():
|
|||
isbead_image = SlopeFinder.create_isbead_image(trac_data, frame_index, self.beads_radius)
|
||||
mo_pro_listener.onImage(isbead_image, 'isbead')
|
||||
mo_pro_listener.onBaseImage(isbead_image, 'isbead')
|
||||
cv2.imwrite('isbead_%04d.tif' % frame_index, isbead_image)
|
||||
if False:
|
||||
kernel = np.ones((15, 15), np.uint8)
|
||||
closing = cv2.morphologyEx(isbead_image, cv2.MORPH_CLOSE, kernel)
|
||||
cv2.imwrite('closing_%04d.tif' % frame_index, closing)
|
||||
mo_pro_listener.onImage(closing, 'closing')
|
||||
# remove the jumping beads
|
||||
# apply connected component analysis to the thresholded image
|
||||
# thresh = cv2.threshold(isbead_image, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]
|
||||
|
@ -109,35 +108,36 @@ class SlopeFinder():
|
|||
connectivity = 4
|
||||
output = cv2.connectedComponentsWithStats(thresh, connectivity, cv2.CV_32S)
|
||||
(num_labels, labels_image, stats, centroids) = output
|
||||
print('num_labels: ', num_labels)
|
||||
print('labels_image: ', labels_image)
|
||||
print('stats: ', stats)
|
||||
print('centroids: ', centroids)
|
||||
cv2.imwrite('labels_%04d.tif' % frame_index, labels_image)
|
||||
# print('num_labels: ', num_labels)
|
||||
# print('labels_image: ', labels_image)
|
||||
# print('stats: ', stats)
|
||||
# print('centroids: ', centroids)
|
||||
mo_pro_listener.onImage(labels_image, 'labels')
|
||||
is_non_jumping_bead_image = np.zeros(shape=labels_image.shape, dtype=np.uint8)
|
||||
bead_area = math.pi * self.beads_radius * self.beads_radius
|
||||
for label in range(1, num_labels): # ignore the first label, as it's the background
|
||||
area = stats[label][4]
|
||||
if area > bead_area * 1.1:
|
||||
is_non_jumping_bead_image[labels_image == label] = 255
|
||||
cv2.imwrite('non_jumping_beads_%04d.tif' % frame_index, is_non_jumping_bead_image)
|
||||
mo_pro_listener.onImage(is_non_jumping_bead_image, 'non_jumping_beads')
|
||||
|
||||
# extract the surface points
|
||||
surface_y = np.ndarray(shape=(is_non_jumping_bead_image.shape[1],), dtype=int)
|
||||
surface_y.fill(is_non_jumping_bead_image.shape[0])
|
||||
contours, hierarchy = cv2.findContours(is_non_jumping_bead_image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
|
||||
print('num contours: ', len(contours))
|
||||
# print('num contours: ', len(contours))
|
||||
assert(len(contours) == 1)
|
||||
contour = contours[0]
|
||||
for point in contour:
|
||||
x, y = point[0]
|
||||
surface_y[x] = min(surface_y[x], y)
|
||||
print(surface_y)
|
||||
# print(surface_y)
|
||||
surface_pts = []
|
||||
for x in range(len(surface_y)):
|
||||
y = surface_y[x]
|
||||
if y != is_non_jumping_bead_image.shape[0]:
|
||||
surface_pts.append((x, y))
|
||||
print(surface_pts)
|
||||
# print(surface_pts)
|
||||
x = [pt[0] for pt in surface_pts]
|
||||
y = [pt[1] for pt in surface_pts]
|
||||
lin_regress_result = scipy.stats.linregress(x, y)
|
||||
|
@ -151,12 +151,12 @@ class SlopeFinder():
|
|||
@staticmethod
|
||||
def create_isbead_image(trac_data: TracData, frame_index: int, particle_radius: float):
|
||||
image = np.zeros(shape=trac_data.image_size, dtype=float)
|
||||
print(trac_data.pts)
|
||||
# print(trac_data.pts)
|
||||
frame_pts = trac_data.pts[trac_data.pts[:, 0] == frame_index]
|
||||
for x in frame_pts[:, 2:4]:
|
||||
center_coordinates = (int(x[0]), int(x[1]))
|
||||
# center_coordinates = (10,10)
|
||||
print(center_coordinates)
|
||||
# print(center_coordinates)
|
||||
cv2.circle(image, center_coordinates, int(particle_radius), color=1.0, thickness=-1)
|
||||
return image
|
||||
|
||||
|
|
Loading…
Reference in New Issue