@@ -694,26 +694,50 @@ def get_bev_2d_grid(self, beam_id: Union[int, List[int]] = None, ind: int = None
694
694
# add this part in case remove corner beamlets create issue for getting original resolution
695
695
remove_row = []
696
696
remove_col = []
697
- for row in range (beam_map .shape [0 ]):
698
- if row < beam_map .shape [0 ] - 1 :
699
- prev_elem = beam_map [row , :][beam_map [row , :] > - 1 ]
700
- next_elem = beam_map [row + 1 , :][beam_map [row + 1 , :] > - 1 ]
697
+ for row in range (1 , beam_map .shape [0 ]):
698
+ prev_elem = beam_map [row - 1 , :][beam_map [row - 1 , :] > - 1 ]
699
+ next_elem = beam_map [row , :][beam_map [row , :] > - 1 ]
701
700
matching_elements = np .intersect1d (prev_elem , next_elem )
702
701
if len (matching_elements ) >= 1 :
703
702
if len (prev_elem ) <= len (next_elem ):
704
- remove_row .append (row )
703
+ if (row - 1 ) not in remove_row :
704
+ remove_row .append (row - 1 )
705
+ else :
706
+ remove_row .append (row )
705
707
else :
706
- remove_row .append (row + 1 )
707
- for col in range (beam_map .shape [1 ]):
708
- if col < beam_map .shape [1 ] - 1 :
709
- prev_elem = beam_map [:, col ][beam_map [:, col ] > - 1 ]
710
- next_elem = beam_map [:, col + 1 ][beam_map [:, col + 1 ] > - 1 ]
708
+ remove_row .append (row )
709
+ for col in range (1 , beam_map .shape [1 ]):
710
+ prev_elem = beam_map [:, col - 1 ][beam_map [:, col - 1 ] > - 1 ]
711
+ next_elem = beam_map [:, col ][beam_map [:, col ] > - 1 ]
711
712
matching_elements = np .intersect1d (prev_elem , next_elem )
712
713
if len (matching_elements ) >= 1 :
713
714
if len (prev_elem ) <= len (next_elem ):
714
- remove_col .append (col )
715
+ if (col - 1 ) not in remove_col :
716
+ remove_col .append (col - 1 )
717
+ else :
718
+ remove_col .append (col )
715
719
else :
716
- remove_col .append (col + 1 )
720
+ remove_col .append (col )
721
+ # for row in range(beam_map.shape[0]):
722
+ # if row < beam_map.shape[0] - 1:
723
+ # prev_elem = beam_map[row, :][beam_map[row, :] > -1]
724
+ # next_elem = beam_map[row + 1, :][beam_map[row + 1, :] > -1]
725
+ # matching_elements = np.intersect1d(prev_elem, next_elem)
726
+ # if len(matching_elements) >= 1:
727
+ # if len(prev_elem) <= len(next_elem):
728
+ # remove_row.append(row)
729
+ # else:
730
+ # remove_row.append(row + 1)
731
+ # for col in range(beam_map.shape[1]):
732
+ # if col < beam_map.shape[1] - 1:
733
+ # prev_elem = beam_map[:, col][beam_map[:, col] > -1]
734
+ # next_elem = beam_map[:, col + 1][beam_map[:, col + 1] > -1]
735
+ # matching_elements = np.intersect1d(prev_elem, next_elem)
736
+ # if len(matching_elements) >= 1:
737
+ # if len(prev_elem) <= len(next_elem):
738
+ # remove_col.append(col)
739
+ # else:
740
+ # remove_col.append(col + 1)
717
741
mask_rows = np .ones (beam_map .shape [0 ], dtype = bool )
718
742
mask_columns = np .ones (beam_map .shape [1 ], dtype = bool )
719
743
if len (remove_row ) > 0 :
0 commit comments