def test_high_pass_2_3(self): r = np.array([[[0.67840929, 0.42564602, 0.56367731], [-0.06834775, -0.14577867, 0.09220944], [-0.21991411, 0.57926609, 0.32041161], [0.19807773, -0.14934361, 0.16678943]], [[0.43283425, 0.13444749, 0.52570046], [0.27778178, 0.53327464, 0.30796907], [0.14707917, -0.3018394, 0.30696447], [0.30284919, 0.73104188, 0.23689022]]]) # alternate result, which is based on more exact numeric integral r_alternate = np.array([[[0.67879973, 0.42581689, 0.56405514], [-0.06831375, -0.1455644, 0.09238308], [-0.22003481, 0.57934385, 0.32063781], [0.19818479, -0.14915996, 0.1669471]], [[0.43323599, 0.13470246, 0.52612553], [0.27797546, 0.53340689, 0.30820639], [0.14721724, -0.30164113, 0.30726631], [0.30309852, 0.73129418, 0.23706999]]]) self.assertTrue( np.allclose( hybrid.high_pass(self.img1, 2, 3), r, rtol=1e-4, atol=1e-08) or np.allclose(hybrid.high_pass(self.img1, 2, 3), r_alternate, rtol=1e-4, atol=1e-08))
def test_high_pass_9_7(self): r = np.array([[[0.2862107, -0.04295958, 0.29505309], [0.46900091, 0.43362076, 0.12043671], [0.07635266, 0.34369499, 0.34341876], [0.74036798, 0.45551239, -0.04270926], [0.75775172, 0.5654669, 0.16100456]], [[-0.07602991, 0.62244331, 0.01915625], [0.37805486, 0.04694034, 0.50508338], [0.12437849, 0.66055268, 0.09461144], [0.74389022, 0.55967782, 0.35313881], [-0.00238069, 0.11131494, -0.00425285]], [[0.52875691, 0.22471744, 0.22277958], [0.09027023, 0.41082914, 0.27969589], [0.29011503, 0.15634128, 0.21811742], [0.65650664, 0.36706042, -0.01747312], [0.1936762, -0.1121314, 0.81590494]], [[0.05740758, 0.22434804, 0.16188927], [0.39432313, -0.07318352, -0.05993572], [0.2590762, 0.75856393, 0.48518876], [0.39822023, -0.00237932, 0.53796125], [0.14244267, 0.45042029, 0.36582769]]]) # alternate result, which is based on more exact numeric integral r_alternate = np.array([[[0.2862109, -0.04295852, 0.29505354], [0.46900319, 0.43362333, 0.1204375], [0.0763568, 0.34369899, 0.34342089], [0.74037127, 0.45551524, -0.04270779], [0.7577536, 0.56546852, 0.16100508]], [[-0.07602759, 0.62244632, 0.01915834], [0.37805956, 0.04694523, 0.50508651], [0.12438509, 0.66055904, 0.09461593], [0.74389594, 0.55968301, 0.35314264], [-0.0023768, 0.11131836, -0.00425025]], [[0.5287591, 0.22472023, 0.22278178], [0.0902746, 0.41083376, 0.27969932], [0.29012127, 0.15634734, 0.21812224], [0.65651199, 0.3670653, -0.01746895], [0.19367974, -0.11212831, 0.81590791]], [[0.05740742, 0.22434851, 0.16189004], [0.39432443, -0.07318179, -0.05993402], [0.25907931, 0.75856707, 0.48519183], [0.39822248, -0.00237734, 0.53796371], [0.14244353, 0.4504209, 0.3658293]]]) self.assertTrue( np.allclose( hybrid.high_pass(self.img2, 9, 7), r, rtol=1e-4, atol=1e-08) or np.allclose(hybrid.high_pass(self.img2, 9, 7), r_alternate, rtol=1e-4, atol=1e-08))
def test_high_pass_9_7(self): r = np.array([[[ 0.2862107 , -0.04295958, 0.29505309], [ 0.46900091, 0.43362076, 0.12043671], [ 0.07635266, 0.34369499, 0.34341876], [ 0.74036798, 0.45551239, -0.04270926], [ 0.75775172, 0.5654669 , 0.16100456]], [[-0.07602991, 0.62244331, 0.01915625], [ 0.37805486, 0.04694034, 0.50508338], [ 0.12437849, 0.66055268, 0.09461144], [ 0.74389022, 0.55967782, 0.35313881], [-0.00238069, 0.11131494, -0.00425285]], [[ 0.52875691, 0.22471744, 0.22277958], [ 0.09027023, 0.41082914, 0.27969589], [ 0.29011503, 0.15634128, 0.21811742], [ 0.65650664, 0.36706042, -0.01747312], [ 0.1936762 , -0.1121314 , 0.81590494]], [[ 0.05740758, 0.22434804, 0.16188927], [ 0.39432313, -0.07318352, -0.05993572], [ 0.2590762 , 0.75856393, 0.48518876], [ 0.39822023, -0.00237932, 0.53796125], [ 0.14244267, 0.45042029, 0.36582769]]]) self.assertTrue(np.allclose(hybrid.high_pass(self.img2, 9, 7), r, atol=1e-08))
def test_high_pass_2_3(self): r = np.array([[[0.67840929, 0.42564602, 0.56367731], [-0.06834775, -0.14577867, 0.09220944], [-0.21991411, 0.57926609, 0.32041161], [0.19807773, -0.14934361, 0.16678943]], [[0.43283425, 0.13444749, 0.52570046], [0.27778178, 0.53327464, 0.30796907], [0.14707917, -0.3018394, 0.30696447], [0.30284919, 0.73104188, 0.23689022]]]) self.assertTrue( np.allclose(hybrid.high_pass(self.img1, 2, 3), r, atol=1e-08))