Loading autocnet/graph/edge.py +16 −4 Original line number Diff line number Diff line Loading @@ -201,18 +201,30 @@ class Edge(dict, MutableMapping): self.masks[maskname] = mask @utils.methodispatch def get_keypoints(self, node, index=None, homogeneous=False): def get_keypoints(self, node, index=None, homogeneous=False, overlap=False): if not hasattr(index, '__iter__') and index is not None: raise TypeError return node.get_keypoint_coordinates(index=index, homogeneous=homogeneous) keypts = node.get_keypoint_coordinates(index=index, homogeneous=homogeneous) # If we only want keypoints in the overlap if overlap: # Compute overlap if we don't have it if not self["source_mbr"] or self["destin_mbr"]: self.compute_overlap() # Create overlap's bounding polygon in pixel space bounds_poly = node.reproject_geom(self.overlap_latlon_coords) # Mask for node keypts based on bounding poly overlap_mask = cg.geom_mask(node.keypoints, bounds_poly) # Return masked keypts return keypts[overlap_mask] return keypts @get_keypoints.register(str) def _(self, node, index=None, homogeneous=False): def _(self, node, index=None, homogeneous=False, overlap=False): if not hasattr(index, '__iter__') and index is not None: raise TypeError node = node.lower() node = getattr(self, node) return node.get_keypoint_coordinates(index=index, homogeneous=homogeneous) return self.get_keypoints(node, index=index, homogeneous=homogeneous, overlap=overlap) def compute_fundamental_error(self, clean_keys=[]): """ Loading autocnet/matcher/cpu_decompose.py +3 −2 Original line number Diff line number Diff line Loading @@ -67,8 +67,9 @@ def decompose_and_match(self, k=2, maxiteration=3, size=18, buf_dist=3,**kwargs) dsize = ddata.shape # Grab all the available candidate keypoints skp = self.source.get_keypoints() dkp = self.destination.get_keypoints() overlap = kwargs.get("overlap", False) skp = self.get_keypoints(self.source, overlap=overlap) dkp = self.get_keypoints(self.destination, overlap=overlap) # Set up the membership arrays self.smembership = np.zeros(sdata.shape, dtype=np.int16) Loading Loading
autocnet/graph/edge.py +16 −4 Original line number Diff line number Diff line Loading @@ -201,18 +201,30 @@ class Edge(dict, MutableMapping): self.masks[maskname] = mask @utils.methodispatch def get_keypoints(self, node, index=None, homogeneous=False): def get_keypoints(self, node, index=None, homogeneous=False, overlap=False): if not hasattr(index, '__iter__') and index is not None: raise TypeError return node.get_keypoint_coordinates(index=index, homogeneous=homogeneous) keypts = node.get_keypoint_coordinates(index=index, homogeneous=homogeneous) # If we only want keypoints in the overlap if overlap: # Compute overlap if we don't have it if not self["source_mbr"] or self["destin_mbr"]: self.compute_overlap() # Create overlap's bounding polygon in pixel space bounds_poly = node.reproject_geom(self.overlap_latlon_coords) # Mask for node keypts based on bounding poly overlap_mask = cg.geom_mask(node.keypoints, bounds_poly) # Return masked keypts return keypts[overlap_mask] return keypts @get_keypoints.register(str) def _(self, node, index=None, homogeneous=False): def _(self, node, index=None, homogeneous=False, overlap=False): if not hasattr(index, '__iter__') and index is not None: raise TypeError node = node.lower() node = getattr(self, node) return node.get_keypoint_coordinates(index=index, homogeneous=homogeneous) return self.get_keypoints(node, index=index, homogeneous=homogeneous, overlap=overlap) def compute_fundamental_error(self, clean_keys=[]): """ Loading
autocnet/matcher/cpu_decompose.py +3 −2 Original line number Diff line number Diff line Loading @@ -67,8 +67,9 @@ def decompose_and_match(self, k=2, maxiteration=3, size=18, buf_dist=3,**kwargs) dsize = ddata.shape # Grab all the available candidate keypoints skp = self.source.get_keypoints() dkp = self.destination.get_keypoints() overlap = kwargs.get("overlap", False) skp = self.get_keypoints(self.source, overlap=overlap) dkp = self.get_keypoints(self.destination, overlap=overlap) # Set up the membership arrays self.smembership = np.zeros(sdata.shape, dtype=np.int16) Loading