diff --git a/bigstream/piecewise_align.py b/bigstream/piecewise_align.py index 90cb6d4..e336423 100644 --- a/bigstream/piecewise_align.py +++ b/bigstream/piecewise_align.py @@ -383,7 +383,8 @@ def align_single_block(single_block_data, static_transform_list): missing_weights[region] += weights[neighbor_region] # rebalance the weights - weights = weights / (1 - missing_weights) + with np.errstate(divide='ignore', invalid='ignore'): + weights = weights / (1 - missing_weights) weights[np.isnan(weights)] = 0. # edges of blocks are 0/0 weights = weights.astype(np.float32) diff --git a/bigstream/transform.py b/bigstream/transform.py index 09e671c..100dbb2 100644 --- a/bigstream/transform.py +++ b/bigstream/transform.py @@ -235,7 +235,12 @@ def apply_transform_to_coordinates( ndims = transform.shape[-1] if 'mode' not in kwargs.keys(): kwargs['mode'] = 'nearest' interp = lambda x: map_coordinates(x, coordinates, **kwargs) - dX = np.array([interp(transform[..., i]) for i in range(ndims)]).transpose() + dX = [] + for i in range(ndims): + if transform[..., i]: + dX.append(interp(transform[..., i])) + else: + dX.append(interp([0]) coordinates = coordinates.transpose() * spacing + dX if origin is not None: coordinates += origin