Loading autocnet/graph/cluster_submit.py +0 −1 Original line number Original line Diff line number Diff line Loading @@ -232,7 +232,6 @@ def main(): # pragma: no cover args = vars(parse_args()) args = vars(parse_args()) # set up the logger # set up the logger logging.basicConfig(level=os.environ.get("autocnet_loglevel", "INFO")) logging.basicConfig(level=os.environ.get("autocnet_loglevel", "INFO")) log.error("hello") # Get the message # Get the message queue = StrictRedis(host=args['host'], port=args['port'], db=0) queue = StrictRedis(host=args['host'], port=args['port'], db=0) manage_messages(args, queue) manage_messages(args, queue) Loading autocnet/graph/edge.py +10 −6 Original line number Original line Diff line number Diff line from collections import defaultdict, MutableMapping, Counter from collections import defaultdict, MutableMapping, Counter from functools import wraps, singledispatch from functools import wraps, singledispatch import json import json import warnings import logging import numpy as np import numpy as np import pandas as pd import pandas as pd Loading Loading @@ -29,6 +29,9 @@ from autocnet.io.db.wrappers import DbDataFrame from plio.io.io_gdal import GeoDataset from plio.io.io_gdal import GeoDataset from csmapi import csmapi from csmapi import csmapi # set up the logging file log = logging.getLogger(__name__) class Edge(dict, MutableMapping): class Edge(dict, MutableMapping): """ """ Attributes Attributes Loading @@ -54,6 +57,7 @@ class Edge(dict, MutableMapping): self['fundamental_matrix'] = None self['fundamental_matrix'] = None self.subpixel_matches = pd.DataFrame() self.subpixel_matches = pd.DataFrame() self._matches = pd.DataFrame() self._matches = pd.DataFrame() self._caplog = log self['source_mbr'] = None self['source_mbr'] = None self['destin_mbr'] = None self['destin_mbr'] = None Loading Loading @@ -176,7 +180,7 @@ class Edge(dict, MutableMapping): tar_desc = self.destination.descriptors tar_desc = self.destination.descriptors if not 'xm' in ref_kps.columns: if not 'xm' in ref_kps.columns: warnings.warn('To ring match body centered coordinates (xm, ym, zm) must be in the keypoints') log.warning('To ring match body centered coordinates (xm, ym, zm) must be in the keypoints') return return ref_feats = ref_kps[['x', 'y', 'xm', 'ym', 'zm']].values ref_feats = ref_kps[['x', 'y', 'xm', 'ym', 'zm']].values tar_feats = tar_kps[['x', 'y', 'xm', 'ym', 'zm']].values tar_feats = tar_kps[['x', 'y', 'xm', 'ym', 'zm']].values Loading Loading @@ -234,7 +238,7 @@ class Edge(dict, MutableMapping): node = getattr(self, on) node = getattr(self, on) camera = getattr(node, 'camera') camera = getattr(node, 'camera') if camera is None: if camera is None: warnings.warn('Unable to project matches without a sensor model.') log.warning('Unable to project matches without a sensor model.') return return matches = self.matches matches = self.matches Loading Loading @@ -274,7 +278,7 @@ class Edge(dict, MutableMapping): def overlap_check(self): def overlap_check(self): """Creates a mask for matches on the overlap""" """Creates a mask for matches on the overlap""" if not (self["source_mbr"] and self["destin_mbr"]): if not (self["source_mbr"] and self["destin_mbr"]): warnings.warn( log.warning( "Cannot use overlap constraint, minimum bounding rectangles" "Cannot use overlap constraint, minimum bounding rectangles" " have not been computed for one or more Nodes") " have not been computed for one or more Nodes") return return Loading Loading @@ -378,7 +382,7 @@ class Edge(dict, MutableMapping): of reprojective error indexed to the matches data frame of reprojective error indexed to the matches data frame """ """ if self.fundamental_matrix is None: if self.fundamental_matrix is None: warnings.warn('No fundamental matrix has been compute for this edge.') log.error('No fundamental matrix has been compute for this edge.') matches, mask = self.clean(clean_keys) matches, mask = self.clean(clean_keys) s_keypoints, d_keypoints = self.get_match_coordinates(clean_keys=clean_keys) s_keypoints, d_keypoints = self.get_match_coordinates(clean_keys=clean_keys) Loading Loading @@ -699,7 +703,7 @@ class Edge(dict, MutableMapping): except: except: smbr = self.source.geodata.xy_extent smbr = self.source.geodata.xy_extent dmbr = self.source.geodata.xy_extent dmbr = self.source.geodata.xy_extent warnings.warn("Overlap between {} and {} could not be " log.warning("Overlap between {} and {} could not be " "computed. Using the full image extents".format(self.source['image_name'], "computed. Using the full image extents".format(self.source['image_name'], self.destination['image_name'])) self.destination['image_name'])) smbr = [smbr[0][0], smbr[1][0], smbr[0][1], smbr[1][1]] smbr = [smbr[0][0], smbr[1][0], smbr[0][1], smbr[1][1]] Loading autocnet/graph/tests/test_edge.py +4 −2 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,8 @@ from autocnet.utils.utils import array_to_poly from .. import edge from .. import edge from .. import node from .. import node import logging log = logging.getLogger(__name__) class TestEdge(unittest.TestCase): class TestEdge(unittest.TestCase): Loading Loading @@ -326,9 +328,9 @@ class TestEdge(unittest.TestCase): # Should fail if no src & dst mbrs on edge; Warns user & mask isn't # Should fail if no src & dst mbrs on edge; Warns user & mask isn't # populated # populated with pytest.warns(UserWarning): with self.assertLogs() as captured: e.overlap_check() e.overlap_check() self.assertTrue("overlap" not in e.masks) self.assertTrue("Overlap between" not in captured.records[0].getMessage()) # and it is the proper one # Should work after MBRs are set # Should work after MBRs are set e["source_mbr"] = (1, 1, 1, 1) e["source_mbr"] = (1, 1, 1, 1) Loading Loading
autocnet/graph/cluster_submit.py +0 −1 Original line number Original line Diff line number Diff line Loading @@ -232,7 +232,6 @@ def main(): # pragma: no cover args = vars(parse_args()) args = vars(parse_args()) # set up the logger # set up the logger logging.basicConfig(level=os.environ.get("autocnet_loglevel", "INFO")) logging.basicConfig(level=os.environ.get("autocnet_loglevel", "INFO")) log.error("hello") # Get the message # Get the message queue = StrictRedis(host=args['host'], port=args['port'], db=0) queue = StrictRedis(host=args['host'], port=args['port'], db=0) manage_messages(args, queue) manage_messages(args, queue) Loading
autocnet/graph/edge.py +10 −6 Original line number Original line Diff line number Diff line from collections import defaultdict, MutableMapping, Counter from collections import defaultdict, MutableMapping, Counter from functools import wraps, singledispatch from functools import wraps, singledispatch import json import json import warnings import logging import numpy as np import numpy as np import pandas as pd import pandas as pd Loading Loading @@ -29,6 +29,9 @@ from autocnet.io.db.wrappers import DbDataFrame from plio.io.io_gdal import GeoDataset from plio.io.io_gdal import GeoDataset from csmapi import csmapi from csmapi import csmapi # set up the logging file log = logging.getLogger(__name__) class Edge(dict, MutableMapping): class Edge(dict, MutableMapping): """ """ Attributes Attributes Loading @@ -54,6 +57,7 @@ class Edge(dict, MutableMapping): self['fundamental_matrix'] = None self['fundamental_matrix'] = None self.subpixel_matches = pd.DataFrame() self.subpixel_matches = pd.DataFrame() self._matches = pd.DataFrame() self._matches = pd.DataFrame() self._caplog = log self['source_mbr'] = None self['source_mbr'] = None self['destin_mbr'] = None self['destin_mbr'] = None Loading Loading @@ -176,7 +180,7 @@ class Edge(dict, MutableMapping): tar_desc = self.destination.descriptors tar_desc = self.destination.descriptors if not 'xm' in ref_kps.columns: if not 'xm' in ref_kps.columns: warnings.warn('To ring match body centered coordinates (xm, ym, zm) must be in the keypoints') log.warning('To ring match body centered coordinates (xm, ym, zm) must be in the keypoints') return return ref_feats = ref_kps[['x', 'y', 'xm', 'ym', 'zm']].values ref_feats = ref_kps[['x', 'y', 'xm', 'ym', 'zm']].values tar_feats = tar_kps[['x', 'y', 'xm', 'ym', 'zm']].values tar_feats = tar_kps[['x', 'y', 'xm', 'ym', 'zm']].values Loading Loading @@ -234,7 +238,7 @@ class Edge(dict, MutableMapping): node = getattr(self, on) node = getattr(self, on) camera = getattr(node, 'camera') camera = getattr(node, 'camera') if camera is None: if camera is None: warnings.warn('Unable to project matches without a sensor model.') log.warning('Unable to project matches without a sensor model.') return return matches = self.matches matches = self.matches Loading Loading @@ -274,7 +278,7 @@ class Edge(dict, MutableMapping): def overlap_check(self): def overlap_check(self): """Creates a mask for matches on the overlap""" """Creates a mask for matches on the overlap""" if not (self["source_mbr"] and self["destin_mbr"]): if not (self["source_mbr"] and self["destin_mbr"]): warnings.warn( log.warning( "Cannot use overlap constraint, minimum bounding rectangles" "Cannot use overlap constraint, minimum bounding rectangles" " have not been computed for one or more Nodes") " have not been computed for one or more Nodes") return return Loading Loading @@ -378,7 +382,7 @@ class Edge(dict, MutableMapping): of reprojective error indexed to the matches data frame of reprojective error indexed to the matches data frame """ """ if self.fundamental_matrix is None: if self.fundamental_matrix is None: warnings.warn('No fundamental matrix has been compute for this edge.') log.error('No fundamental matrix has been compute for this edge.') matches, mask = self.clean(clean_keys) matches, mask = self.clean(clean_keys) s_keypoints, d_keypoints = self.get_match_coordinates(clean_keys=clean_keys) s_keypoints, d_keypoints = self.get_match_coordinates(clean_keys=clean_keys) Loading Loading @@ -699,7 +703,7 @@ class Edge(dict, MutableMapping): except: except: smbr = self.source.geodata.xy_extent smbr = self.source.geodata.xy_extent dmbr = self.source.geodata.xy_extent dmbr = self.source.geodata.xy_extent warnings.warn("Overlap between {} and {} could not be " log.warning("Overlap between {} and {} could not be " "computed. Using the full image extents".format(self.source['image_name'], "computed. Using the full image extents".format(self.source['image_name'], self.destination['image_name'])) self.destination['image_name'])) smbr = [smbr[0][0], smbr[1][0], smbr[0][1], smbr[1][1]] smbr = [smbr[0][0], smbr[1][0], smbr[0][1], smbr[1][1]] Loading
autocnet/graph/tests/test_edge.py +4 −2 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,8 @@ from autocnet.utils.utils import array_to_poly from .. import edge from .. import edge from .. import node from .. import node import logging log = logging.getLogger(__name__) class TestEdge(unittest.TestCase): class TestEdge(unittest.TestCase): Loading Loading @@ -326,9 +328,9 @@ class TestEdge(unittest.TestCase): # Should fail if no src & dst mbrs on edge; Warns user & mask isn't # Should fail if no src & dst mbrs on edge; Warns user & mask isn't # populated # populated with pytest.warns(UserWarning): with self.assertLogs() as captured: e.overlap_check() e.overlap_check() self.assertTrue("overlap" not in e.masks) self.assertTrue("Overlap between" not in captured.records[0].getMessage()) # and it is the proper one # Should work after MBRs are set # Should work after MBRs are set e["source_mbr"] = (1, 1, 1, 1) e["source_mbr"] = (1, 1, 1, 1) Loading