From 5955e4e612b7efdd3eafc0f105855d13959fff5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jostein=20B=C3=B8=20Fl=C3=B8ystad?= Date: Fri, 5 Jul 2013 15:27:39 +0200 Subject: [PATCH] iradon: Reduce code duplication. --- skimage/transform/radon_transform.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/skimage/transform/radon_transform.py b/skimage/transform/radon_transform.py index 93979977..71548324 100644 --- a/skimage/transform/radon_transform.py +++ b/skimage/transform/radon_transform.py @@ -232,8 +232,6 @@ def iradon(radon_image, theta=None, output_size=None, k = np.round(mid_index + ypr * np.cos(th[i]) - xpr * np.sin(th[i])) backprojected = radon_filtered[ ((((k > 0) & (k < n)) * k) - 1).astype(np.int), i] - if circle: - backprojected[~reconstruction_circle] = 0. reconstructed += backprojected elif interpolation == "linear": for i in range(len(theta)): @@ -244,11 +242,11 @@ def iradon(radon_image, theta=None, output_size=None, b1 = ((((b > 0) & (b < n)) * b) - 1).astype(np.int) backprojected = (t - a) * radon_filtered[b0, i] + \ (a - t + 1) * radon_filtered[b1, i] - if circle: - backprojected[~reconstruction_circle] = 0. reconstructed += backprojected else: raise ValueError("Unknown interpolation: %s" % interpolation) + if circle: + reconstructed[~reconstruction_circle] = 0. return reconstructed * np.pi / (2 * len(th))