def testFillGap_onCartesianParameters(self): data = numpy.zeros((6, 6), numpy.uint8) data[1][2] = 1 data[2][1] = 1 data[3][2] = 1 data[2][3] = 1 obj = _cartesian.new() param = _cartesianparam.new() param.setData(data) param.nodata = 255.0 param.quantity = "DBZH" obj.addParameter(param) param = _cartesianparam.new() data[1][2] = 2 data[2][1] = 2 data[3][2] = 2 data[2][3] = 2 param.setData(data) param.nodata = 255.0 param.quantity = "TH" obj.addParameter(param) t = _transform.new() result = t.fillGap(obj) data = result.getParameter("DBZH").getData() self.assertEqual(1, data[2][2]) data = result.getParameter("TH").getData() self.assertEqual(2, data[2][2])
def test_sum_different_quantity(self): p1 = _cartesianparam.new() p1.quantity = "DBZH" p1.setData(reshape(array((NO_DATA, 111, 0, 111), uint8), (2, 2))) p1.nodata, p1.undetect, p1.gain, p1.offset = NO_DATA, UNDETECT, 0.5, -32.5 d1 = _ravefield.new() d1.addAttribute("what/gain", DEFAULT_DISTANCE_GAIN) d1.setData(reshape(array((0, 100, 75, 50), uint8), (2, 2))) d1.addAttribute("how/task", "se.smhi.composite.distance.radar") p1.addQualityField(d1) p2 = _cartesianparam.new() p2.quantity = "TH" p2.setData(reshape(array((NO_DATA, 111, 0, 111), uint8), (2, 2))) p2.nodata, p2.undetect, p2.gain, p2.offset = NO_DATA, UNDETECT, 0.5, -32.5 d2 = _ravefield.new() d2.addAttribute("what/gain", DEFAULT_DISTANCE_GAIN) d2.setData(reshape(array((0, 100, 75, 50), uint8), (2, 2))) d2.addAttribute("how/task", "se.smhi.composite.distance.radar") p2.addQualityField(d2) obj = _acrr.new() obj.sum(p1, 200.0, 1.6) try: obj.sum(p2, 200.0, 1.6) self.fail("Expected IOError") except IOError: pass self.assertEqual(True, obj.isInitialized()) self.assertEqual("DBZH", obj.getQuantity())
def test_accumulate_distfield_nodata(self): distance_field1 = (10, 20, 30, ACRR_NO_DATA) distance_field2 = (10, 20, 30, ACRR_NO_DATA) p1 = _cartesianparam.new() p1.quantity = "DBZH" p1.setData(reshape(array((111, 111, UNDETECT, NO_DATA), uint8), (2, 2))) p1.nodata, p1.undetect, p1.gain, p1.offset = NO_DATA, UNDETECT, 0.5, -32.5 d1 = _ravefield.new() d1.addAttribute("what/gain", DEFAULT_DISTANCE_GAIN) d1.setData(reshape(array(distance_field1, uint8), (2, 2))) d1.addAttribute("how/task", "se.smhi.composite.distance.radar") p1.addQualityField(d1) p2 = _cartesianparam.new() p2.quantity = "DBZH" p2.setData(reshape(array((111, 111, 111, NO_DATA), uint8), (2, 2))) p2.nodata, p2.undetect, p2.gain, p2.offset = NO_DATA, UNDETECT, 0.5, -32.5 d2 = _ravefield.new() d2.addAttribute("what/gain", DEFAULT_DISTANCE_GAIN) d2.setData(reshape(array(distance_field2, uint8), (2, 2))) d2.addAttribute("how/task", "se.smhi.composite.distance.radar") p2.addQualityField(d2) obj = _acrr.new() obj.nodata = ACRR_NO_DATA obj.undetect = UNDETECT obj.sum(p1, 200.0, 1.6) obj.sum(p2, 200.0, 1.6) result = obj.accumulate(0.0, 2, 1.0) self.assertAlmostEqual(1.0, result.getAttribute("what/prodpar"), 4) self.assertEqual("ACRR", result.quantity) self.assertAlmostEqual(ACRR_NO_DATA, result.nodata, 4) self.assertAlmostEqual(UNDETECT, result.undetect, 4) refAcrr = [1.0, 1.0, 0.5, ACRR_NO_DATA] refDist = self.calculateAvgDistanceField( [distance_field1, distance_field2], DEFAULT_DISTANCE_GAIN) Acrr = result.getData().flatten() qfield = result.getQualityFieldByHowTask( "se.smhi.composite.distance.radar") self.assertAlmostEqual(0.0, qfield.getAttribute("what/offset"), 4) self.assertAlmostEqual(1000.0, qfield.getAttribute("what/gain"), 4) Dist = qfield.getData().flatten() for i in range(len(refAcrr)): self.assertAlmostEqual(Acrr[i], refAcrr[i], 2) self.assertAlmostEqual(Dist[i], refDist[i], 2)
def test_addParameter(self): obj = _cartesian.new() param = _cartesianparam.new() param.quantity = "DBZH" param.setData(numpy.zeros((240, 240), numpy.uint8)) param2 = _cartesianparam.new() param2.quantity = "MMH" param2.setData(numpy.zeros((240, 240), numpy.uint8)) self.assertFalse(obj.hasParameter("DBZH")) obj.addParameter(param) self.assertTrue(obj.hasParameter("DBZH")) obj.addParameter(param2) self.assertTrue(obj.hasParameter("DBZH")) self.assertTrue(obj.hasParameter("MMH"))
def readCT(filename): ct, cp = _cartesian.new(), _cartesianparam.new() nodelist = _pyhl.read_nodelist(filename) for n in NODENAMES: nodelist.selectNode(n) nodelist.fetch() ct.defaultParameter = "CT" ct.projection = _projection.new("MSG", "no description", nodelist.getNode("/PROJECTION").data()) cp.setData(nodelist.getNode("/CT").data()) ysize = nodelist.getNode("/CT/N_LINES").data() xsize = nodelist.getNode("/CT/N_COLS").data() ULx = nodelist.getNode("/XGEO_UP_LEFT").data() ULy = nodelist.getNode("/YGEO_UP_LEFT").data() LRx = nodelist.getNode("/XGEO_LOW_RIGHT").data() LRy = nodelist.getNode("/YGEO_LOW_RIGHT").data() yscale = (ULy - LRy) / ysize xscale = (LRx - ULx) / xsize xoffset, yoffset = xscale / 2, yscale / 2 # Offsets to adjust LL and UR corners LLx = LRx - (xsize * xscale) - xoffset LLy = ULy - (ysize * yscale) - yoffset URx = LRx + xoffset URy = ULy + yoffset ct.areaextent = (LLx, LLy, URx, URy) # Differs ~5 cm from PPS and PyTROLL ct.xscale, ct.yscale = xscale, yscale cp.quantity = "CT" cp.gain, cp.offset = 1.0, 0.0 cp.nodata, cp.undetect = -1.0, 0.0 ct.addParameter(cp) return ct
def test_apply(self): distance = _ravefield.new() distance.setData(numpy.zeros((2, 2), numpy.float64)) distance.setValue(0, 0, 0.1) distance.setValue(0, 1, 0.2) distance.setValue(1, 0, 0.3) distance.setValue(1, 1, 0.4) distance.addAttribute("what/gain", 10000.0) distance.addAttribute("what/offset", 0.0) param = _cartesianparam.new() param.setData(numpy.zeros((2, 2), numpy.float64)) param.setValue((0, 0), 1) param.setValue((0, 1), 2) param.setValue((1, 0), 3) param.setValue((1, 1), 4) param.quantity = "ACRR" param.gain = 10.0 param.offset = 2.0 gra = _gra.new() gra.A = 1.0 gra.B = 2.0 gra.C = 3.0 result = gra.apply(distance, param) self.assertAlmostEqual(47.77, result.getConvertedValue((0, 0))[1], 2) self.assertAlmostEqual(1102.61, result.getConvertedValue((0, 1))[1], 2) self.assertAlmostEqual(3200.0, result.getConvertedValue((1, 0))[1], 4) self.assertAlmostEqual(4200.0, result.getConvertedValue((1, 1))[1], 4)
def test_setGetValue(self): obj = _cartesianparam.new() obj.nodata = 255.0 obj.undetect = 0.0 a = numpy.arange(120) a = numpy.array(a.astype(numpy.float64), numpy.float64) a = numpy.reshape(a, (12, 10)).astype(numpy.float64) obj.setData(a) data = [ ((0, 1), 10.0, _rave.RaveValueType_DATA), ((1, 1), 20.0, _rave.RaveValueType_DATA), ((2, 2), 30.0, _rave.RaveValueType_DATA), ((9, 4), 49.0, _rave.RaveValueType_DATA), ((8, 4), obj.nodata, _rave.RaveValueType_NODATA), ((4, 8), obj.undetect, _rave.RaveValueType_UNDETECT), ] for v in data: obj.setValue(v[0], v[1]) # Verify for v in data: r = obj.getValue(v[0]) self.assertAlmostEqual(v[1], r[1], 4) self.assertEqual(v[2], r[0])
def test_getValue(self): obj = _cartesian.new() param = _cartesianparam.new() param.quantity = "DBZH" param.nodata = 255.0 param.undetect = 0.0 a = numpy.arange(120) a = numpy.array(a.astype(numpy.float64), numpy.float64) a = numpy.reshape(a, (12, 10)).astype(numpy.float64) a[0][1] = param.nodata a[1][0] = param.undetect param.setData(a) obj.addParameter(param) obj.defaultParameter = "DBZH" pairs = [(0, 0, 0.0, _rave.RaveValueType_UNDETECT), (1, 0, param.nodata, _rave.RaveValueType_NODATA), (0, 1, param.undetect, _rave.RaveValueType_UNDETECT), (2, 0, 2.0, _rave.RaveValueType_DATA), (0, 3, 30.0, _rave.RaveValueType_DATA)] for cval in pairs: result = obj.getValue((cval[0], cval[1])) self.assertAlmostEqual(cval[2], result[1], 4) self.assertEqual(cval[3], result[0])
def test_isTransformable_noscale(self): proj = _rave.projection( "x", "y", "+proj=stere +ellps=bessel +lat_0=90 +lon_0=14 +lat_ts=60 +datum=WGS84" ) data = numpy.zeros((10, 10), numpy.float64) param = _cartesianparam.new() param.quantity = "DBZH" param.setData(data) obj = _cartesian.new() obj.xscale = 1000.0 obj.yscale = 1000.0 obj.projection = proj obj.addParameter(param) self.assertEqual(True, obj.isTransformable()) obj.xscale = 1000.0 obj.yscale = 0.0 self.assertEqual(False, obj.isTransformable()) obj.xscale = 0.0 obj.yscale = 1000.0 self.assertEqual(False, obj.isTransformable())
def test_setGetConvertedValue(self): obj = _cartesianparam.new() obj.nodata = 255.0 obj.undetect = 0.0 obj.gain = 2.0 obj.offset = 1.0 a = numpy.arange(120) a = numpy.array(a.astype(numpy.float64), numpy.float64) a = numpy.reshape(a, (12, 10)).astype(numpy.float64) obj.setData(a) obj.setValue((0, 1), 10.0) obj.setValue((1, 1), 20.0) obj.setConvertedValue((2, 2), 14.5) obj.setConvertedValue((3, 3), 15.0) r = obj.getConvertedValue((0, 1)) self.assertEqual(_rave.RaveValueType_DATA, r[0]) self.assertAlmostEqual(21.0, r[1], 4) r = obj.getConvertedValue((1, 1)) self.assertEqual(_rave.RaveValueType_DATA, r[0]) self.assertAlmostEqual(41.0, r[1], 4) r = obj.getConvertedValue((2, 2)) self.assertEqual(_rave.RaveValueType_DATA, r[0]) self.assertAlmostEqual(14.5, r[1], 4) r = obj.getConvertedValue((3, 3)) self.assertEqual(_rave.RaveValueType_DATA, r[0]) self.assertAlmostEqual(15.0, r[1], 4)
def test_getConvertedValueAtLonLat(self): obj = _cartesian.new() obj.projection = _rave.projection( "gnom", "gnom", "+proj=gnom +R=6371000.0 +lat_0=56.3675 +lon_0=12.8544") obj.xscale = 100.0 obj.yscale = 100.0 xy = obj.projection.fwd(deg2rad((12.8544, 56.3675))) obj.areaextent = (xy[0] - 4 * 100.0, xy[1] - 5 * 100.0, xy[0] + 6 * 100.0, xy[1] + 5 * 100.0) param = _cartesianparam.new() param.quantity = "DBZH" param.nodata = 255.0 param.undetect = 0.0 a = numpy.arange(99) a = numpy.array(a.astype(numpy.float64), numpy.float64) a = numpy.reshape(a, (11, 9)).astype(numpy.float64) param.setData(a) obj.addParameter(param) obj.defaultParameter = "DBZH" expected = obj.getConvertedValue((4, 5)) actual = obj.getConvertedValueAtLonLat(deg2rad((12.8544, 56.3675))) self.assertEqual(expected[0], actual[0]) self.assertAlmostEqual(expected[1], actual[1], 4)
def test_getParameter(self): obj = _cartesian.new() param = _cartesianparam.new() param.quantity = "DBZH" param.setData(numpy.zeros((240, 240), numpy.uint8)) param2 = _cartesianparam.new() param2.quantity = "MMH" param2.setData(numpy.zeros((240, 240), numpy.uint8)) obj.addParameter(param) obj.addParameter(param2) result = obj.getParameter("DBZH") result2 = obj.getParameter("MMH") self.assertTrue(param == result) self.assertTrue(param2 == result2) self.assertTrue(None == obj.getParameter("MMHH"))
def test_quantity_typeError(self): obj = _cartesianparam.new() try: obj.quantity = 10 self.fail("Expected TypeError") except TypeError: pass self.assertEqual(None, obj.quantity)
def test_addParameter_differentSizes(self): obj = _cartesian.new() param = _cartesianparam.new() param.quantity = "DBZH" param.setData(numpy.zeros((240, 240), numpy.uint8)) param2 = _cartesianparam.new() param2.quantity = "MMH" param2.setData(numpy.zeros((241, 241), numpy.uint8)) obj.addParameter(param) try: obj.addParameter(param2) self.fail("Expected AttributeError") except AttributeError: pass self.assertTrue(obj.hasParameter("DBZH")) self.assertFalse(obj.hasParameter("MMH"))
def test_undetect_typeError(self): obj = _cartesianparam.new() self.assertAlmostEqual(0.0, obj.undetect, 4) try: obj.undetect = 10 self.fail("Expected TypeError") except TypeError: pass self.assertAlmostEqual(0.0, obj.undetect, 4)
def test_datatype(self): obj = _cartesianparam.new() self.assertEqual(_rave.RaveDataType_UNDEFINED, obj.datatype) try: obj.datatype = _rave.RaveDataType_INT self.fail("Expected AttributeError") except AttributeError: pass self.assertEqual(_rave.RaveDataType_UNDEFINED, obj.datatype)
def test_attribute_visibility(self): attrs = [ 'xsize', 'ysize', 'quantity', 'gain', 'offset', 'nodata', 'undetect', 'datatype' ] obj = _cartesianparam.new() alist = dir(obj) for a in attrs: self.assertEqual(True, a in alist)
def test_ysize(self): obj = _cartesianparam.new() self.assertEqual(0, obj.ysize) try: obj.ysize = 10 self.fail("Expected AttributeError") except AttributeError: pass self.assertEqual(0, obj.ysize)
def test_nodata_typeError(self): obj = _cartesianparam.new() self.assertAlmostEqual(0.0, obj.nodata, 4) try: obj.nodata = 10 self.fail("Expected TypeError") except TypeError: pass self.assertAlmostEqual(0.0, obj.nodata, 4)
def test_gain_typeError(self): obj = _cartesianparam.new() self.assertAlmostEqual(1.0, obj.gain, 4) try: obj.gain = 10 self.fail("Expected TypeError") except TypeError: pass self.assertAlmostEqual(1.0, obj.gain, 4)
def test_getParameterCount(self): obj = _cartesian.new() param = _cartesianparam.new() param.quantity = "DBZH" param.setData(numpy.zeros((240, 240), numpy.uint8)) param2 = _cartesianparam.new() param2.quantity = "MMH" param2.setData(numpy.zeros((240, 240), numpy.uint8)) param3 = _cartesianparam.new() param3.quantity = "MMH" param3.setData(numpy.zeros((240, 240), numpy.uint8)) self.assertEqual(0, obj.getParameterCount()) obj.addParameter(param) self.assertEqual(1, obj.getParameterCount()) obj.addParameter(param2) self.assertEqual(2, obj.getParameterCount()) obj.addParameter(param3) self.assertEqual(2, obj.getParameterCount())
def test_setData_uint64(self): obj = _cartesianparam.new() a = numpy.arange(120) a = numpy.array(a.astype(numpy.uint64), numpy.uint64) a = numpy.reshape(a, (12, 10)).astype(numpy.uint64) obj.setData(a) self.assertEqual(_rave.RaveDataType_ULONG, obj.datatype) self.assertEqual(10, obj.xsize) self.assertEqual(12, obj.ysize)
def test_setConvertedValue_roundOff(self): obj = _cartesianparam.new() obj.nodata = 255.0 obj.undetect = 0.0 obj.gain = 0.4 obj.offset = -30.0 # test uint8 a = numpy.arange(120) a = numpy.array(a.astype(numpy.uint8), numpy.uint8) a = numpy.reshape(a, (12, 10)).astype(numpy.uint8) obj.setData(a) obj.setConvertedValue((0, 1), -0.5) r = obj.getValue((0, 1)) self.assertEqual(_rave.RaveValueType_DATA, r[0]) self.assertAlmostEqual(74.0, r[1], 4) #test int8 a = numpy.arange(120) a = numpy.array(a.astype(numpy.int8), numpy.int8) a = numpy.reshape(a, (12, 10)).astype(numpy.int8) obj.setData(a) obj.setConvertedValue((0, 1), 1.5) r = obj.getValue((0, 1)) self.assertEqual(_rave.RaveValueType_DATA, r[0]) self.assertAlmostEqual(79.0, r[1], 4) #test uint a = numpy.arange(120) a = numpy.array(a.astype(numpy.uint), numpy.uint) a = numpy.reshape(a, (12, 10)).astype(numpy.uint) obj.setData(a) obj.setConvertedValue((0, 1), 2.25) r = obj.getValue((0, 1)) self.assertEqual(_rave.RaveValueType_DATA, r[0]) self.assertAlmostEqual(81.0, r[1], 4) #test int a = numpy.arange(120) a = numpy.array(a.astype(numpy.int), numpy.int) a = numpy.reshape(a, (12, 10)).astype(numpy.int) obj.setData(a) obj.setConvertedValue((0, 1), -1.75) r = obj.getValue((0, 1)) self.assertEqual(_rave.RaveValueType_DATA, r[0]) self.assertAlmostEqual(71.0, r[1], 4)
def test_getConvertedQualityValueAtLonLat(self): obj = _cartesian.new() obj.projection = _rave.projection( "gnom", "gnom", "+proj=gnom +R=6371000.0 +lat_0=56.3675 +lon_0=12.8544") obj.xscale = 100.0 obj.yscale = 100.0 xy = obj.projection.fwd(deg2rad((12.8544, 56.3675))) obj.areaextent = (xy[0] - 4 * 100.0, xy[1] - 5 * 100.0, xy[0] + 6 * 100.0, xy[1] + 5 * 100.0) param = _cartesianparam.new() param.quantity = "DBZH" param.nodata = 255.0 param.undetect = 0.0 a = numpy.zeros((11, 9)) a = numpy.array(a.astype(numpy.float64), numpy.float64) a = numpy.reshape(a, (11, 9)).astype(numpy.float64) param.setData(a) qf = numpy.arange(99) qf = numpy.array(qf.astype(numpy.float64), numpy.float64) qf = numpy.reshape(qf, (11, 9)).astype(numpy.float64) qf2 = numpy.arange(99) qf2 = numpy.array(qf.astype(numpy.float64), numpy.float64) qf2 = numpy.reshape(qf, (11, 9)).astype(numpy.float64) qf2[5][4] = 199.0 field1 = _ravefield.new() field1.addAttribute("how/task", "se.task.1") field1.addAttribute("what/offset", 10.0) field1.addAttribute("what/gain", 2.0) field1.setData(qf) param.addQualityField(field1) field2 = _ravefield.new() field2.addAttribute("how/task", "se.task.2") field2.addAttribute("what/gain", 3.0) field2.setData(qf2) param.addQualityField(field2) obj.addParameter(param) obj.defaultParameter = "DBZH" #expected = obj.getConvertedValue((4,5)) result = obj.getConvertedQualityValueAtLonLat( deg2rad((12.8544, 56.3675)), "se.task.1") self.assertAlmostEqual(10.0 + 2.0 * 49.0, result, 4) result = obj.getConvertedQualityValueAtLonLat( deg2rad((12.8544, 56.3675)), "se.task.2") self.assertAlmostEqual(3.0 * 199.0, result, 4)
def test_addParameter_no_quantity(self): obj = _cartesian.new() param = _cartesianparam.new() param.setData(numpy.zeros((10, 10), numpy.uint8)) try: obj.addParameter(param) self.fail("Expected AttributeError") except AttributeError: pass
def test_accumulate_tofewfiles(self): p1 = _cartesianparam.new() p1.quantity = "DBZH" p1.setData(reshape(array((NO_DATA, 0, 0, 0), uint8), (2, 2))) p1.nodata, p1.undetect, p1.gain, p1.offset = NO_DATA, UNDETECT, 0.5, -32.5 d1 = _ravefield.new() d1.addAttribute("what/gain", DEFAULT_DISTANCE_GAIN) d1.setData(reshape(array((0, 100, 75, 50), uint8), (2, 2))) d1.addAttribute("how/task", "se.smhi.composite.distance.radar") p1.addQualityField(d1) p2 = _cartesianparam.new() p2.quantity = "DBZH" p2.setData(reshape(array((0, NO_DATA, 0, 0), uint8), (2, 2))) p2.nodata, p2.undetect, p2.gain, p2.offset = NO_DATA, UNDETECT, 0.5, -32.5 d2 = _ravefield.new() d2.addAttribute("what/gain", DEFAULT_DISTANCE_GAIN) d2.setData(reshape(array((10, 20, 25, 50), uint8), (2, 2))) d2.addAttribute("how/task", "se.smhi.composite.distance.radar") p2.addQualityField(d2) obj = _acrr.new() obj.nodata = ACRR_NO_DATA obj.undetect = UNDETECT obj.sum(p1, 200.0, 1.6) obj.sum(p2, 200.0, 1.6) result = obj.accumulate(0.0, 3, 1.0) self.assertAlmostEqual(1.0, result.getAttribute("what/prodpar"), 4) self.assertEqual("ACRR", result.quantity) self.assertAlmostEqual(ACRR_NO_DATA, result.nodata, 4) self.assertAlmostEqual(UNDETECT, result.undetect, 4) refAcrr = [ACRR_NO_DATA, ACRR_NO_DATA, ACRR_NO_DATA, ACRR_NO_DATA] Acrr = result.getData().flatten() for i in range(len(refAcrr)): self.assertAlmostEqual(Acrr[i], refAcrr[i], 2)
def test_getParameterNames(self): obj = _cartesian.new() param = _cartesianparam.new() param.quantity = "DBZH" param.setData(numpy.zeros((240, 240), numpy.uint8)) param2 = _cartesianparam.new() param2.quantity = "MMH" param2.setData(numpy.zeros((240, 240), numpy.uint8)) result = obj.getParameterNames() self.assertEqual(0, len(result)) obj.addParameter(param) result = obj.getParameterNames() self.assertEqual(1, len(result)) self.assertTrue("DBZH" in result) obj.addParameter(param2) result = obj.getParameterNames() self.assertEqual(2, len(result)) self.assertTrue("DBZH" in result) self.assertTrue("MMH" in result)
def test_datatypes_fromData(self): types = [(numpy.int8, _rave.RaveDataType_CHAR), (numpy.uint8, _rave.RaveDataType_UCHAR), (numpy.int16, _rave.RaveDataType_SHORT), (numpy.int32, _rave.RaveDataType_INT), (numpy.int64, _rave.RaveDataType_LONG), (numpy.float32, _rave.RaveDataType_FLOAT), (numpy.float64, _rave.RaveDataType_DOUBLE)] obj = _cartesianparam.new() for type in types: d = numpy.zeros((10, 10), type[0]) obj.setData(d) self.assertEqual(type[1], obj.datatype)
def test_getData_int8(self): obj = _cartesianparam.new() a = numpy.arange(120) a = numpy.array(a.astype(numpy.int8), numpy.int8) a = numpy.reshape(a, (12, 10)).astype(numpy.int8) obj.setData(a) obj.setValue((3, 2), 5) obj.setValue((4, 4), 7) result = obj.getData() self.assertEqual(5, result[2][3]) self.assertEqual(7, result[4][4]) self.assertEqual("int8", result.dtype.name)
def test_isTransformable_noproj(self): data = numpy.zeros((10, 10), numpy.float64) param = _cartesianparam.new() param.quantity = "DBZH" param.setData(data) obj = _cartesian.new() obj.xscale = 1000.0 obj.yscale = 1000.0 obj.addParameter(param) self.assertEqual(False, obj.isTransformable())