Code Duplication    Length = 25-25 lines in 2 locations

savu/plugins/centering/centering360.py 1 location

@@ 247-271 (lines=25) @@
244
                min_pos = num
245
        return curvature, np.float32(min_pos)
246
247
    def _downsample(self, image, dsp_fact0, dsp_fact1):
248
        """Downsample an image by averaging.
249
250
        Parameters
251
        ----------
252
            image : 2D array.
253
            dsp_fact0 : downsampling factor along axis 0.
254
            dsp_fact1 : downsampling factor along axis 1.
255
256
        Returns
257
        ---------
258
            image_dsp : Downsampled image.
259
        """
260
        (height, width) = image.shape
261
        dsp_fact0 = np.clip(np.int16(dsp_fact0), 1, height // 2)
262
        dsp_fact1 = np.clip(np.int16(dsp_fact1), 1, width // 2)
263
        height_dsp = height // dsp_fact0
264
        width_dsp = width // dsp_fact1
265
        if dsp_fact0 == 1 and dsp_fact1 == 1:
266
            image_dsp = image
267
        else:
268
            image_dsp = image[0:dsp_fact0 * height_dsp, 0:dsp_fact1 * width_dsp]
269
            image_dsp = image_dsp.reshape(
270
                height_dsp, dsp_fact0, width_dsp, dsp_fact1).mean(-1).mean(1)
271
        return image_dsp
272
273
    def pre_process(self):
274
        self.win_width = np.int16(self.parameters['win_width'])

savu/plugins/centering/vo_centering.py 1 location

@@ 127-151 (lines=25) @@
124
        cor = list_cor[min_pos]
125
        return cor
126
127
    def _downsample(self, image, dsp_fact0, dsp_fact1):
128
        """Downsample an image by averaging.
129
130
        Parameters
131
        ----------
132
            image : 2D array.
133
            dsp_fact0 : downsampling factor along axis 0.
134
            dsp_fact1 : downsampling factor along axis 1.
135
136
        Returns
137
        ---------
138
            image_dsp : Downsampled image.
139
        """
140
        (height, width) = image.shape
141
        dsp_fact0 = np.clip(np.int16(dsp_fact0), 1, height // 2)
142
        dsp_fact1 = np.clip(np.int16(dsp_fact1), 1, width // 2)
143
        height_dsp = height // dsp_fact0
144
        width_dsp = width // dsp_fact1
145
        if dsp_fact0 == 1 and dsp_fact1 == 1:
146
            image_dsp = image
147
        else:
148
            image_dsp = image[0:dsp_fact0 * height_dsp, 0:dsp_fact1 * width_dsp]
149
            image_dsp = image_dsp.reshape(
150
                height_dsp, dsp_fact0, width_dsp, dsp_fact1).mean(-1).mean(1)
151
        return image_dsp
152
153
    def set_filter_padding(self, in_data, out_data):
154
        padding = np.int16(self.parameters['average_radius'])