Unverified Commit 5fdb5d0f authored by jlaura's avatar jlaura Committed by GitHub
Browse files

Updates Matches and other minor fix (#490)

* Updates matches for edges

* Small fix for reprojetive error
parent 9fc28a27
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -1010,7 +1010,9 @@ class NetworkEdge(Edge):
                      Measures.sample,
                      Measures.line,
                      Measures.measuretype,
                      Measures.imageid).\
                      Measures.imageid,
                      Measures.apriorisample,
                      Measures.aprioriline).\
                filter(Points.ignore==ignore_point,
                       Measures.ignore==ignore_measure,
                       Measures.jigreject==rejected_jigsaw,
@@ -1019,9 +1021,12 @@ class NetworkEdge(Edge):

            df = pd.read_sql(q.statement, self.parent.engine)
            matches = []
            columns = ['point_id', 'source_measure_id', 'destin_measure_id', 'source', 'source_idx', 'destination', 'destination_idx',
                   'lat', 'lon', 'geom', 'source_x', 'source_y', 'destination_x',
                   'destination_y', 'shift_x', 'shift_y', 'original_destination_x',
            columns = ['point_id', 'source_measure_id', 'destin_measure_id', 'source',
                       'source_idx', 'destination', 'destination_idx',
                       'lat', 'lon', 'geom',
                       'source_x', 'source_y', 'source_apriori_x', 'source_apriori_y',
                       'destination_x','destination_y', 'destination_apriori_x', 'destination_apriori_y', 
                       'shift_x', 'shift_y', 'original_destination_x',
                       'original_destination_y']

        def net2matches(grp, matches, source, destin):
@@ -1035,7 +1040,8 @@ class NetworkEdge(Edge):
            match = [int(imagea.id), int(imagea.mid), int(imageb.mid),
                     source, 0, destin, 0,
                     None, None, None,
                     imagea['sample'], imagea['line'], imageb['sample'], imageb['line'],
                     imagea['sample'], imagea['line'], imagea['apriorisample'], imagea['aprioriline'],
                     imageb['sample'], imageb['line'], imageb['apriorisample'], imageb['aprioriline'],
                     None, None, None, None]
            matches.append(match)

+4 −0
Original line number Diff line number Diff line
@@ -150,8 +150,12 @@ class Matches(BaseMixin, Base):
    _geom = Column("geom", Geometry('POINT', dimension=2, srid=latitudinal_srid, spatial_index=True))
    source_x = Column(Float)
    source_y = Column(Float)
    source_apriori_x = Column(Float)
    source_apriori_y = Column(Float)
    destination_x = Column(Float)
    destination_y = Column(Float)
    destination_apriori_x = Column(Float)
    destination_apriori_y = Column(Float)
    shift_x = Column(Float)
    shift_y = Column(Float)
    original_destination_x = Column(Float)
+5 −3
Original line number Diff line number Diff line
@@ -98,14 +98,16 @@ def compute_reprojection_error(F, x, x1, index=None):
              n,1 vector of reprojection errors
    """

    if not x.shape[1] == 3 or not x1.shape[1] == 3:
        raise ValueError('The input points must be homogenous with shape (n,3)')

    if isinstance(x, (pd.Series, pd.DataFrame)):
        x = x.values
    if isinstance(x1, (pd.Series, pd.DataFrame)):
        x1 = x1.values

    if x.shape[1] != 3:
        x = make_homogeneous(x)
    if x1.shape[1] != 3:
        x1 = make_homogeneous(x1)

    # Compute the epipolar lines
    lines1 = compute_epipolar_lines(F,x)
    lines2 = compute_epipolar_lines(F.T, x1)