Commit 7fdd64fc authored by Laura, Jason R's avatar Laura, Jason R
Browse files

Merge branch 'subpixelapi_di2' into 'subpixelapi'

Small changes for affine transformation and subpixel matcher assumptions

See merge request astrogeology/autocnet!652
parents c4a43a3d 3b40952c
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ from math import modf, floor
import time
import numpy as np
import warnings
import logging

from subprocess import CalledProcessError

@@ -1700,6 +1701,7 @@ def subpixel_register_point_smart(pointid,
                    'status':''}
        cost = None
        destination_node = nodes[measure.imageid]
        print(f'Registering measure {measure.id} (image: {measure.imageid})')

        # Compute the baseline metrics using the smallest window
        size_x = np.inf
@@ -1801,10 +1803,10 @@ def subpixel_register_point_smart(pointid,
            else:
                mi_metric=0
                metric = maxcorr
                new_x, new_y = updated_affine([measure.sample, measure.line])[0]
                new_x, new_y = updated_affine([measure.apriorisample, measure.aprioriline])[0]
                
                dist = np.linalg.norm([measure.line-new_x, 
                                      measure.sample-new_y])
                dist = np.linalg.norm([measure.aprioriline-new_x, 
                                      measure.apriorisample-new_y])
                cost = cost_func(dist, metric)

                m = {'id': measure.id,
@@ -1957,7 +1959,12 @@ def validate_candidate_measure(measure_to_register,
    Parameters
    ----------
    measure_to_register : dict
                          The measure to register
                          A dictionary containing information about the measure to validate, the
                          {keys: types} needed for this function are: 
                          {'id': int, 
                          'line': np.float, 
                          'sample': np.float,
                          'parameters_index': dict}

    ncg : obj
          A network candidate graph object
+5 −1
Original line number Diff line number Diff line
@@ -111,7 +111,11 @@ def estimate_local_affine(reference_roi, moving_roi):
        Affine matrix to transform the moving image onto the center image
    """
    # get initial affine
    affine_transform = estimate_affine_from_sensors(reference_roi.data, moving_roi.data, reference_roi.x, reference_roi.y)
    roi_buffer = reference_roi.buffer
    size_x = reference_roi.size_x + roi_buffer
    size_y = reference_roi.size_y + roi_buffer
    
    affine_transform = estimate_affine_from_sensors(reference_roi.data, moving_roi.data, reference_roi.x, reference_roi.y, size_x=size_x, size_y=size_y)
    ref_center = (reference_roi.x, reference_roi.y)

    # MOVING NO AFFINE; Get the full moving image area so that an applied affine transformation that