def prox(self, z, step, pin): [x, pout, _, _] = denoiseTV(z, step * self.tau, pin, bc=self.bc, maxiter=self.maxiter, bounds=self.bounds) return x, pout
def red(self, z, step, pin, useNoise=False, extend_p=None): [x, pout, _, _] = denoiseTV(z, self.sigma / self.tau, pin, bc=self.bc, maxiter=self.maxiter, bounds=self.bounds) noise = self.tau * (z - x) noise = noise if extend_p is None else noise[extend_p:extend_p + 40, extend_p:extend_p + 40] return noise, pout
def red(self, z, step, pin, useNoise=False, extend_p=40): [x, pout, _, _] = denoiseTV(z, self.sigma / self.tau, pin, bc=self.bc, maxiter=self.maxiter, bounds=self.bounds) # print('denoiseTV ', np.amax(z-x)) noise = noise if extend_p is None else noise[extend_p:extend_p + 40, extend_p:extend_p + 40] return self.tau * (z - x), pout
def red(self, s, step, pin, useNoise=None, extend_p=None): extend_p = 0 if extend_p is None else extend_p padded_x, padded_y = s.shape patch_x = padded_x - extend_p * 2 patch_y = padded_y - extend_p * 2 [x, pout, _, _] = denoiseTV(s, self.sigma / self.tau, pin, bc=self.bc, maxiter=self.maxiter, bounds=self.bounds) noise = self.tau * (s - x) noise = noise if extend_p is None else noise[extend_p:extend_p + patch_x, extend_p:extend_p + patch_y] return noise, pout