From 4952a62268f920d0537991a8fdfb5ad8ec07c5a4 Mon Sep 17 00:00:00 2001 From: Ben Barton Date: Mon, 5 Feb 2024 15:44:43 -0900 Subject: [PATCH 1/3] EWs will have 2-digit zero padded burst index in filename --- src/index_safe/create_index.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/index_safe/create_index.py b/src/index_safe/create_index.py index 29024c9..f8eef37 100644 --- a/src/index_safe/create_index.py +++ b/src/index_safe/create_index.py @@ -88,7 +88,9 @@ def create_burst_name(slc_name: str, swath_name: str, burst_index: str) -> str: Name of burst """ _, swath, _, polarization, *_ = swath_name.split('-') - all_parts = [slc_name, swath.upper(), polarization.upper(), str(burst_index)] + # EWs can have burst index values over 9, so we will zeropad it. + filename_burst_idx = str(burst_index).zfill(2) if slc_name[4:6] == 'EW' else str(burst_index) + all_parts = [slc_name, swath.upper(), polarization.upper(), filename_burst_idx] return '_'.join(all_parts) + '.tiff' From 6344bc824a3e7f652fc60f289f474a67e5feaafa Mon Sep 17 00:00:00 2001 From: Forrest Williams Date: Tue, 6 Feb 2024 07:35:25 -0600 Subject: [PATCH 2/3] zero pad burst index number in index names --- src/index_safe/create_index.py | 4 ++-- tests/test_create_index.py | 11 +++++++---- ...0604T022318_032861_03CE65_7C85_IW2_VV_07.dflidx} | Bin .../{valid_IW2_VV_0.vrt => valid_IW2_VV_00.vrt} | 0 .../{valid_IW2_VV_7.vrt => valid_IW2_VV_07.vrt} | 0 tests/test_integration.py | 8 ++++---- 6 files changed, 13 insertions(+), 10 deletions(-) rename tests/test_data/{S1A_IW_SLC__1SDV_20200604T022251_20200604T022318_032861_03CE65_7C85_IW2_VV_7.dflidx => S1A_IW_SLC__1SDV_20200604T022251_20200604T022318_032861_03CE65_7C85_IW2_VV_07.dflidx} (100%) rename tests/test_data/{valid_IW2_VV_0.vrt => valid_IW2_VV_00.vrt} (100%) rename tests/test_data/{valid_IW2_VV_7.vrt => valid_IW2_VV_07.vrt} (100%) diff --git a/src/index_safe/create_index.py b/src/index_safe/create_index.py index f8eef37..1ce58b0 100644 --- a/src/index_safe/create_index.py +++ b/src/index_safe/create_index.py @@ -88,8 +88,8 @@ def create_burst_name(slc_name: str, swath_name: str, burst_index: str) -> str: Name of burst """ _, swath, _, polarization, *_ = swath_name.split('-') - # EWs can have burst index values over 9, so we will zeropad it. - filename_burst_idx = str(burst_index).zfill(2) if slc_name[4:6] == 'EW' else str(burst_index) + # EWs can have burst index values over 9, so we will zeropad the burst number. + filename_burst_idx = str(burst_index).zfill(2) all_parts = [slc_name, swath.upper(), polarization.upper(), filename_burst_idx] return '_'.join(all_parts) + '.tiff' diff --git a/tests/test_create_index.py b/tests/test_create_index.py index 55b24e9..04af5a1 100644 --- a/tests/test_create_index.py +++ b/tests/test_create_index.py @@ -23,9 +23,12 @@ def test_create_xml_metadata(): def test_create_burst_name(): test_name = 'SLCNAME' test_swath = 'foo-iw2-bar-vv-baz.tiff' - test_burst_index = 1 - burst_name = create_index.create_burst_name(test_name, test_swath, test_burst_index) - assert burst_name == 'SLCNAME_IW2_VV_1.tiff' + + burst_name1 = create_index.create_burst_name(test_name, test_swath, 1) + assert burst_name1 == 'SLCNAME_IW2_VV_01.tiff' + + burst_name2 = create_index.create_burst_name(test_name, test_swath, 11) + assert burst_name2 == 'SLCNAME_IW2_VV_11.tiff' def test_create_burst_dflidx(zip_deflated): @@ -54,7 +57,7 @@ def test_create_index(zip_deflated, annotation_xml): keys = list(test_burst_metadata.keys()) first_burst = test_burst_metadata[keys[0]] golden_burst = utils.BurstMetadata( - name='SLCNAME_IW2_VV_0.tiff', + name='SLCNAME_IW2_VV_00.tiff', slc='SLCNAME', swath='IW2', burst_index=0, diff --git a/tests/test_data/S1A_IW_SLC__1SDV_20200604T022251_20200604T022318_032861_03CE65_7C85_IW2_VV_7.dflidx b/tests/test_data/S1A_IW_SLC__1SDV_20200604T022251_20200604T022318_032861_03CE65_7C85_IW2_VV_07.dflidx similarity index 100% rename from tests/test_data/S1A_IW_SLC__1SDV_20200604T022251_20200604T022318_032861_03CE65_7C85_IW2_VV_7.dflidx rename to tests/test_data/S1A_IW_SLC__1SDV_20200604T022251_20200604T022318_032861_03CE65_7C85_IW2_VV_07.dflidx diff --git a/tests/test_data/valid_IW2_VV_0.vrt b/tests/test_data/valid_IW2_VV_00.vrt similarity index 100% rename from tests/test_data/valid_IW2_VV_0.vrt rename to tests/test_data/valid_IW2_VV_00.vrt diff --git a/tests/test_data/valid_IW2_VV_7.vrt b/tests/test_data/valid_IW2_VV_07.vrt similarity index 100% rename from tests/test_data/valid_IW2_VV_7.vrt rename to tests/test_data/valid_IW2_VV_07.vrt diff --git a/tests/test_integration.py b/tests/test_integration.py index 175a916..b05d57e 100644 --- a/tests/test_integration.py +++ b/tests/test_integration.py @@ -52,7 +52,7 @@ def slc_zip_path(test_data_dir): @pytest.fixture() def golden_burst_metadata(): burst_metadata = utils.BurstMetadata( - name='S1A_IW_SLC__1SDV_20200604T022251_20200604T022318_032861_03CE65_7C85_IW2_VV_7.tiff', + name='S1A_IW_SLC__1SDV_20200604T022251_20200604T022318_032861_03CE65_7C85_IW2_VV_07.tiff', slc='S1A_IW_SLC__1SDV_20200604T022251_20200604T022318_032861_03CE65_7C85', swath='IW2', burst_index=7, @@ -67,7 +67,7 @@ def golden_burst_metadata(): @pytest.fixture() def golden_burst_index(test_data_dir): - index_name = 'S1A_IW_SLC__1SDV_20200604T022251_20200604T022318_032861_03CE65_7C85_IW2_VV_7.dflidx' + index_name = 'S1A_IW_SLC__1SDV_20200604T022251_20200604T022318_032861_03CE65_7C85_IW2_VV_07.dflidx' index_path = test_data_dir / index_name index = zran.Index.read_file(str(index_path)) return index @@ -82,7 +82,7 @@ def golden_burst(test_data_dir, slc_zip_path, golden_burst_metadata): if not (test_data_dir / zinfo.filename).exists(): zip_file.extract(zinfo, path=test_data_dir) - golden_array = load_geotiff(str(test_data_dir / 'valid_IW2_VV_7.vrt'))[0] + golden_array = load_geotiff(str(test_data_dir / 'valid_IW2_VV_07.vrt'))[0] yield golden_array @@ -151,7 +151,7 @@ def test_create_index(slc_zip_path, golden_xml_metadata, golden_burst_metadata): test_xml = [xml for xml in xml_metadatas if xml.name == golden_xml.name][0] assert test_xml == golden_xml - index_path = [index for index in indexes if 'IW2_VV_7.json' in index.name][0] + index_path = [index for index in indexes if 'IW2_VV_07.json' in index.name][0] index, burst_metadata = json_to_burst_metadata(index_path) assert golden_burst_metadata == burst_metadata From 432000b6f6a53b838544eae5f550652c78119970 Mon Sep 17 00:00:00 2001 From: Forrest Williams Date: Tue, 6 Feb 2024 07:43:53 -0600 Subject: [PATCH 3/3] update changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 842e006..83670bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [PEP 440](https://www.python.org/dev/peps/pep-0440/) and uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.2.2] + +### Changed +* Naming convention of output image/index to have a zero-padded burst number. This is to maintain consistency with scenes that have more than 9 bursts per swath. + ## [0.2.1] ### Added