Commit 593cab7e authored by Jay's avatar Jay
Browse files

Adds logging to ROI object and fixes size constraint on ROI in subpixel matcher.

parent f71d73b9
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -868,14 +868,18 @@ def subpixel_register_point_smart(point,
        destination_node = nodes_cache[measure.imageid]
        log.info(f'Registering measure {measure.id} (image: {measure.imageid}, serial: {measure.serial})')

        match_kwargs = parameters[0]['match_kwargs']
        reference_roi = roi.Roi(source_node.geodata, 
                                source.apriorisample, 
                                source.aprioriline)
                                source.aprioriline,
                                size_x=match_kwargs['image_size'][0],
                                size_y=match_kwargs['image_size'][1])

        moving_roi = roi.Roi(destination_node.geodata, 
                             measure.apriorisample, 
                             measure.aprioriline,
                             )
                             size_x=match_kwargs['image_size'][0],
                             size_y=match_kwargs['image_size'][1])
        try:
            baseline_affine = estimate_local_affine(moving_roi,
                                                    reference_roi)
@@ -892,8 +896,13 @@ def subpixel_register_point_smart(point,
        # If the image read center plus buffer is outside the image, clipping
        # raises an index error. Handle and set the measure false.
        try:
            reference_clip = reference_roi.clip(affine=baseline_affine, buffer=10)
            moving_clip = moving_roi.clip(buffer=5)
            reference_clip = reference_roi.clip(affine=baseline_affine, 
                                                buffer=10,
                                                size_x=match_kwargs['image_size'][0],
                                                size_y=match_kwargs['image_size'][1])
            moving_clip = moving_roi.clip(buffer=5,
                                          size_x=match_kwargs['image_size'][0],
                                          size_y=match_kwargs['image_size'][1])
        except Exception as e:
            log.error(e)
            m = {'id': measure.id,
+6 −4
Original line number Diff line number Diff line
import logging
from math import floor
import numpy as np
import scipy.ndimage as ndimage

import numpy as np
from skimage import transform as tf
from skimage.util import img_as_float32

from autocnet.io.geodataset import AGeoDataset

log = logging.getLogger(__name__)


class Roi():
    """
    Region of interest (ROI) object that is a sub-image taken from
@@ -212,7 +214,7 @@ class Roi():
        min_y = self._whole_y - self.size_y - buffer
        x_read_length = (self.size_x * 2) + (buffer * 2)
        y_read_length = (self.size_y * 2) + (buffer * 2)

        log.debug('XY ROI read start and read length: ', min_x, min_y, x_read_length, y_read_length)
        # series of checks to make sure all pixels inside image limits
        raster_xsize, raster_ysize = self.data.raster_size
        if min_x < 0 or min_y < 0 or min_x+x_read_length > raster_xsize or min_y+y_read_length > raster_ysize: