Ejemplo n.º 1
0
    def test_reproject_domain_if_tps_is_given(self):
        n = Nansat(self.test_file_gcps,
                   log_level=40,
                   mapper=self.default_mapper)
        d = Domain(4326, "-te 27 70 30 72 -ts 500 500")
        n.reproject(d, tps=False)
        tmpfilename = os.path.join(self.tmp_data_path,
                                   'nansat_reproject_domain.png')
        n.write_figure(tmpfilename, 2, clim='hist')

        self.assertEqual(n.shape(), (500, 500))
        self.assertEqual(type(n[1]), np.ndarray)
        self.assertTrue(n.has_band('swathmask'))

        n = Nansat(self.test_file_gcps,
                   log_level=40,
                   mapper=self.default_mapper)
        d = Domain(4326, "-te 27 70 30 72 -ts 500 500")
        n.reproject(d, tps=True)
        tmpfilename = os.path.join(self.tmp_data_path,
                                   'nansat_reproject_domain.png')
        n.write_figure(tmpfilename, 2, clim='hist')

        self.assertEqual(n.shape(), (500, 500))
        self.assertEqual(type(n[1]), np.ndarray)
        self.assertTrue(n.has_band('swathmask'))
Ejemplo n.º 2
0
 def test_export_selected_bands(self):
     n = Nansat(self.test_file_gcps)
     resfile = 'tmp.nc'
     new_band = np.random.randn(n.shape()[0], n.shape()[1])
     n.add_band(new_band, {'name': 'newBand'})
     # Test with band numbers
     n.export(resfile, bands=[4, 2])
     self.assertTrue(os.path.exists(resfile))
     nn = Nansat(resfile)
     self.assertTrue(nn.has_band('newBand'))
     self.assertTrue(nn.has_band('L_555'))
     os.unlink(resfile)
Ejemplo n.º 3
0
 def test_export_selected_bands(self):
     n = Nansat(self.test_file_gcps)
     resfile = 'tmp.nc'
     new_band = np.random.randn(n.shape()[0], n.shape()[1])
     n.add_band(new_band, {'name': 'newBand'})
     # Test with band numbers
     n.export(resfile, bands=[4, 2])
     self.assertTrue(os.path.exists(resfile))
     nn = Nansat(resfile)
     self.assertTrue(nn.has_band('newBand'))
     self.assertTrue(nn.has_band('L_555'))
     os.unlink(resfile)
Ejemplo n.º 4
0
 def test_export_option(self):
     n = Nansat(self.test_file_arctic)
     tmpfilename = os.path.join(ntd.tmp_data_path,
                                'nansat_export_option.nc')
     # Test with band numbers
     n.export(tmpfilename, options='WRITE_LONLAT=YES')
     n.export(tmpfilename + '2', options=['WRITE_LONLAT=YES'])
     nn = Nansat(tmpfilename)
     nn2 = Nansat(tmpfilename + '2')
     self.assertTrue(nn.has_band('lon'))
     self.assertTrue(nn.has_band('lat'))
     self.assertTrue(nn.has_band('Bristol'))
     self.assertTrue(nn2.has_band('lon'))
     self.assertTrue(nn2.has_band('lat'))
     self.assertTrue(nn2.has_band('Bristol'))
Ejemplo n.º 5
0
    def test_add_band_and_reproject(self):
        """ Should add band and swath mask and return np.nan in areas out of swath """
        n = Nansat(self.test_file_gcps, log_level=40, mapper=self.default_mapper)
        d = Domain(4326, "-te 27 70 30 72 -ts 500 500")
        n.add_band(np.ones(n.shape(), np.uint8))
        n.reproject(d)
        b4 = n[4] # added, reprojected band
        b5 = n[5] # swathmask

        self.assertTrue(n.has_band('swathmask')) # the added band
        self.assertTrue(n.has_band('swathmask_0000')) # the actual swathmask
        self.assertTrue(b4[0, 0]==0)
        self.assertTrue(b4[300, 300] == 1)
        self.assertTrue(b5[0, 0]==0)
        self.assertTrue(b5[300, 300] == 1)
Ejemplo n.º 6
0
    def test_add_band_and_reproject(self):
        """ Should add band and swath mask and return 0 in areas out of swath """
        n = Nansat(self.test_file_gcps, log_level=40, mapper=self.default_mapper)
        d = Domain(4326, "-te 27 70 30 72 -ts 500 500")
        n.add_band(np.ones(n.shape()))
        n.reproject(d)
        b1 = n[1]
        b4 = n[4]

        self.assertTrue(n.has_band('swathmask')) # the added band
        self.assertTrue(n.has_band('swathmask_0000')) # the actual swathmask
        self.assertTrue(b1[0, 0] == 0)
        self.assertTrue(b1[300, 300] > 0)
        self.assertTrue(np.isnan(b4[0, 0]))
        self.assertTrue(b4[300, 300] == 1.)
Ejemplo n.º 7
0
 def test_export_option(self):
     n = Nansat(self.test_file_arctic)
     tmpfilename = os.path.join(ntd.tmp_data_path,
                                'nansat_export_option.nc')
     # Test with band numbers
     n.export(tmpfilename, options='WRITE_LONLAT=YES')
     n.export(tmpfilename + '2', options=['WRITE_LONLAT=YES'])
     nn = Nansat(tmpfilename)
     nn2 = Nansat(tmpfilename + '2')
     self.assertTrue(nn.has_band('lon'))
     self.assertTrue(nn.has_band('lat'))
     self.assertTrue(nn.has_band('Bristol'))
     self.assertTrue(nn2.has_band('lon'))
     self.assertTrue(nn2.has_band('lat'))
     self.assertTrue(nn2.has_band('Bristol'))
Ejemplo n.º 8
0
 def test_has_band_if_standard_name_matches(self):
     n = Nansat(self.test_file_gcps,
                log_level=40,
                mapper=self.default_mapper)
     hb = n.has_band(
         'surface_upwelling_spectral_radiance_in_air_emerging_from_sea_water'
     )
     self.assertTrue(hb)
Ejemplo n.º 9
0
    def test_reproject_no_addmask(self):
        ''' Should not add swath mask and return 0 in areas out of swath '''
        n = Nansat(self.test_file_complex, logLevel=40)
        d = Domain(4326, '-te -92.08 26.85 -92.00 26.91 -ts 200 200')
        n.reproject(d, addmask=False)
        b = n[1]

        self.assertTrue(not n.has_band('swathmask'))
        self.assertTrue(np.isfinite(b[0, 0]))
        self.assertTrue(np.isfinite(b[100, 100]))
Ejemplo n.º 10
0
    def test_reproject_no_addmask(self):
        """ Should not add swath mask and return 0 in areas out of swath """
        n = Nansat(self.test_file_gcps, log_level=40, mapper=self.default_mapper)
        d = Domain(4326, '-te -92.08 26.85 -92.00 26.91 -ts 200 200')
        n.reproject(d, addmask=False)
        b = n[1]

        self.assertTrue(not n.has_band('swathmask'))
        self.assertTrue(np.isfinite(b[0, 0]))
        self.assertTrue(np.isfinite(b[100, 100]))
Ejemplo n.º 11
0
    def test_reproject_domain_if_source_and_destination_domain_span_entire_lons(self, mock_Nansat):
        n = Nansat(self.test_file_arctic, log_level=40, mapper=self.default_mapper)
        d = Domain(4326, "-te -180 180 60 90 -ts 500 500")
        n.reproject(d)
        tmpfilename = os.path.join(self.tmp_data_path, 'nansat_reproject_domain.png')
        n.write_figure(tmpfilename, 2, clim='hist')

        self.assertEqual(n.shape(), (500, 500))
        self.assertEqual(type(n[1]), np.ndarray)
        self.assertTrue(n.has_band('swathmask'))
Ejemplo n.º 12
0
    def test_reproject_of_complex(self):
        ''' Should return np.nan in areas out of swath '''
        n = Nansat(self.test_file_complex, logLevel=40)
        d = Domain(4326, '-te -92.08 26.85 -92.00 26.91 -ts 200 200')
        n.reproject(d)
        b = n[1]

        self.assertTrue(n.has_band('swathmask'))
        self.assertTrue(np.isnan(b[0, 0]))
        self.assertTrue(np.isfinite(b[100, 100]))
Ejemplo n.º 13
0
    def test_reproject_of_complex(self):
        """ Should return np.nan in areas out of swath """
        n = Nansat(self.test_file_complex, log_level=40, mapper=self.default_mapper)
        d = Domain(4326, '-te -92.08 26.85 -92.00 26.91 -ts 200 200')
        n.reproject(d)
        b = n[1]

        self.assertTrue(n.has_band('swathmask'))
        self.assertTrue(np.isnan(b[0, 0]))
        self.assertTrue(np.isfinite(b[100, 100]))
Ejemplo n.º 14
0
    def test_reproject_no_addmask(self):
        ''' Should not add swath mask and return 0 in areas out of swath '''
        n = Nansat(self.test_file_complex, logLevel=40)
        d = Domain(4326, '-te -92.08 26.85 -92.00 26.91 -ts 200 200')
        n.reproject(d, addmask=False)
        b = n[1]

        self.assertTrue(not n.has_band('swathmask'))
        self.assertTrue(np.isfinite(b[0, 0]))
        self.assertTrue(np.isfinite(b[100, 100]))
Ejemplo n.º 15
0
    def test_reproject_domain(self):
        n = Nansat(self.test_file_gcps, logLevel=40)
        d = Domain(4326, "-te 27 70 30 72 -ts 500 500")
        n.reproject(d)
        tmpfilename = os.path.join(ntd.tmp_data_path,
                                   'nansat_reproject_domain.png')
        n.write_figure(tmpfilename, 2, clim='hist')

        self.assertEqual(n.shape(), (500, 500))
        self.assertEqual(type(n[1]), np.ndarray)
        self.assertTrue(n.has_band('swathmask'))
Ejemplo n.º 16
0
    def test_reproject_domain(self):
        n = Nansat(self.test_file_gcps, logLevel=40)
        d = Domain(4326, "-te 27 70 30 72 -ts 500 500")
        n.reproject(d)
        tmpfilename = os.path.join(ntd.tmp_data_path,
                                   'nansat_reproject_domain.png')
        n.write_figure(tmpfilename, 2, clim='hist')

        self.assertEqual(n.shape(), (500, 500))
        self.assertEqual(type(n[1]), np.ndarray)
        self.assertTrue(n.has_band('swathmask'))
Ejemplo n.º 17
0
    def test_add_band_and_reproject(self):
        ''' Should add band and swath mask
        and return 0 in areas out of swath '''
        n = Nansat(self.test_file_gcps, logLevel=40)
        d = Domain(4326, "-te 27 70 30 72 -ts 500 500")
        n.add_band(np.ones(n.shape()))
        n.reproject(d)
        b1 = n[1]
        b4 = n[4]

        self.assertTrue(n.has_band('swathmask'))
        self.assertTrue(b1[0, 0] == 0)
        self.assertTrue(b1[300, 300] > 0)
        self.assertTrue(np.isnan(b4[0, 0]))
        self.assertTrue(b4[300, 300] == 1.)
Ejemplo n.º 18
0
    def test_add_band_and_reproject(self):
        ''' Should add band and swath mask
        and return 0 in areas out of swath '''
        n = Nansat(self.test_file_gcps, logLevel=40)
        d = Domain(4326, "-te 27 70 30 72 -ts 500 500")
        n.add_band(np.ones(n.shape()))
        n.reproject(d)
        b1 = n[1]
        b4 = n[4]

        self.assertTrue(n.has_band('swathmask'))
        self.assertTrue(b1[0, 0] == 0)
        self.assertTrue(b1[300, 300] > 0)
        self.assertTrue(np.isnan(b4[0, 0]))
        self.assertTrue(b4[300, 300] == 1.)
Ejemplo n.º 19
0
    def test_mappers_advanced(self):
        ''' Run similar NansenCloud reated tests for all mappers '''
        for fileName, mapperName in self.testData.mapperData:
            sys.stderr.write('\nMapper '+mapperName+' -> '+fileName+'\n')
            n = Nansat(fileName, mapperName=mapperName)
            yield self.is_correct_mapper, n, mapperName
            yield self.has_start_time, n
            yield self.has_end_time, n
            yield self.has_correct_platform, n
            yield self.has_correct_instrument, n

            # Test that SAR objects have sigma0 intensity bands in addition
            # to complex bands
            if n.has_band(
                'surface_backwards_scattering_coefficient_of_radar_wave'
                    ):
                yield self.exist_intensity_band, n
Ejemplo n.º 20
0
    def test_mappers_advanced(self):
        ''' Run tests to check DIF/GCMD metadata content in all mappers'''
        for dd in self.testData.mapperData:
            sys.stderr.write('\nMapper ' + dd['mapperName'] + ' -> ' +
                             dd['fileName'] + '\n')
            n = Nansat(dd['fileName'], mapperName=dd['mapperName'])
            yield self.is_correct_mapper, n, dd['mapperName']
            yield self.has_metadata_time_coverage_start, n
            yield self.has_metadata_time_coverage_end, n
            yield self.has_metadata_platform, n
            yield self.has_metadata_instrument, n

            # Test that SAR objects have sigma0 intensity bands in addition
            # to complex bands
            if n.has_band(
                    'surface_backwards_scattering_coefficient_of_radar_wave'):
                yield self.exist_intensity_band, n
Ejemplo n.º 21
0
 def test_has_band_if_name_matches(self):
     n = Nansat(self.test_file_gcps, log_level=40, mapper=self.default_mapper)
     hb = n.has_band('L_645')
     self.assertTrue(hb)
Ejemplo n.º 22
0
    def test_has_band(self):
        n = Nansat(self.test_file_gcps, logLevel=40)
        hb = n.has_band('L_645')

        self.assertTrue(hb)
Ejemplo n.º 23
0
    def test_has_band(self):
        n = Nansat(self.test_file_gcps, logLevel=40)
        hb = n.has_band('L_645')

        self.assertTrue(hb)