Exemplo n.º 1
0
 def test_bilinear(self):
     data = numpy.fromfunction(lambda y, x: y * x * 10**-6, (928, 928))
     msg_con = image.ImageContainerBilinear(data,
                                            self.msg_area_resize,
                                            50000,
                                            segments=1,
                                            neighbours=8)
     area_con = msg_con.resample(self.area_def)
     res = area_con.image_data
     cross_sum = res.sum()
     expected = 24712.589910252744
     self.assertAlmostEqual(cross_sum, expected)
Exemplo n.º 2
0
 def test_bilinear_swath(self):
     data = numpy.fromfunction(lambda y, x: y * x, (50, 10))
     lons = numpy.fromfunction(lambda y, x: 3 + x, (50, 10))
     lats = numpy.fromfunction(lambda y, x: 75 - y, (50, 10))
     swath_def = geometry.SwathDefinition(lons=lons, lats=lats)
     swath_con = image.ImageContainerBilinear(data,
                                              swath_def,
                                              500000,
                                              segments=1,
                                              neighbours=8)
     area_con = swath_con.resample(self.area_def)
     res = area_con.image_data
     cross_sum = res.sum()
     expected = 16852120.789503865
     self.assertAlmostEqual(cross_sum, expected, places=5)
Exemplo n.º 3
0
 def test_bilinear_multi(self):
     data1 = numpy.fromfunction(lambda y, x: y * x * 10**-6, (928, 928))
     data2 = numpy.fromfunction(lambda y, x: y * x * 10**-6, (928, 928)) * 2
     data = numpy.dstack((data1, data2))
     msg_con = image.ImageContainerBilinear(data,
                                            self.msg_area_resize,
                                            50000,
                                            segments=1,
                                            neighbours=8)
     area_con = msg_con.resample(self.area_def)
     res = area_con.image_data
     cross_sum1 = res[:, :, 0].sum()
     expected1 = 24712.589910252744
     self.assertAlmostEqual(cross_sum1, expected1)
     cross_sum2 = res[:, :, 1].sum()
     expected2 = 24712.589910252744 * 2
     self.assertAlmostEqual(cross_sum2, expected2)