@@ -1053,49 +1053,23 @@ def align_geometry_by_image_distance(geometry_list, spacing_dist=None, max_itera
10531053 backward_distance = abs (np .linalg .norm (backward_geom_centered - prev_geom_centered ) - target_distance )
10541054 backward_satisfies_tolerance = backward_distance < tolerance
10551055
1056- # If both satisfy tolerance, check distance from initial geometry
1056+ # If both satisfy tolerance, choose forward (later in path) direction
10571057 if forward_satisfies_tolerance and backward_satisfies_tolerance :
1058- initial_geom_centered = initial_geom - np .mean (initial_geom , axis = 0 )
1059- forward_to_initial = np .linalg .norm (forward_geom_centered - initial_geom_centered )
1060- backward_to_initial = np .linalg .norm (backward_geom_centered - initial_geom_centered )
1061-
1062- # If forward is closer to initial and within node_distance, choose forward
1063- if forward_to_initial <= node_distance :
1064- current_geom = forward_geom
1065- current_segment = forward_segment
1066- current_t = forward_t
1067- # If backward is within node_distance, choose backward
1068- elif backward_to_initial <= node_distance :
1069- current_geom = backward_geom
1070- current_segment = backward_segment
1071- current_t = backward_t
1072- # If both are too far from initial, keep initial geometry
1073- else :
1074- current_geom = initial_geom
1058+ current_geom = forward_geom
1059+ current_segment = forward_segment
1060+ current_t = forward_t
10751061 break # Exit iteration as we found satisfactory result
10761062
1077- # If only one satisfies tolerance, check distance from initial geometry
1063+ # If only one satisfies tolerance, choose that one
10781064 elif forward_satisfies_tolerance :
1079- initial_geom_centered = initial_geom - np .mean (initial_geom , axis = 0 )
1080- forward_to_initial = np .linalg .norm (forward_geom_centered - initial_geom_centered )
1081-
1082- if forward_to_initial <= node_distance :
1083- current_geom = forward_geom
1084- current_segment = forward_segment
1085- current_t = forward_t
1086- else :
1087- current_geom = initial_geom
1065+ current_geom = forward_geom
1066+ current_segment = forward_segment
1067+ current_t = forward_t
10881068 break
10891069 elif backward_satisfies_tolerance :
1090- initial_geom_centered = initial_geom - np .mean (initial_geom , axis = 0 )
1091- backward_to_initial = np .linalg .norm (backward_geom_centered - initial_geom_centered )
1092-
1093- if backward_to_initial <= node_distance :
1094- current_geom = backward_geom
1095- current_segment = backward_segment
1096- current_t = backward_t
1097- else :
1098- current_geom = initial_geom
1070+ current_geom = backward_geom
1071+ current_segment = backward_segment
1072+ current_t = backward_t
10991073 break
11001074
11011075 # If neither satisfies tolerance, keep initial geometry
@@ -1110,10 +1084,10 @@ def align_geometry_by_image_distance(geometry_list, spacing_dist=None, max_itera
11101084 # Use last node from input
11111085 new_geometry_list .append (geometry_list [- 1 ])
11121086
1113- new_path_length_list = calc_path_length_list (new_geometry_list )
1087+ # new_path_length_list = calc_path_length_list(new_geometry_list)
11141088 #print("Path length list (after the process) : ", new_path_length_list)
1115- print ("Distances between nodes:" )
1116- for x in range (len (new_path_length_list )- 1 ):
1117- print (new_path_length_list [x + 1 ]- new_path_length_list [x ])
1089+ # print("Distances between nodes:")
1090+ # for x in range(len(new_path_length_list)-1):
1091+ # print(new_path_length_list[x+1]-new_path_length_list[x])
11181092
11191093 return new_geometry_list
0 commit comments