pingmapper 5.4.3__tar.gz → 5.4.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. {pingmapper-5.4.3 → pingmapper-5.4.5}/PKG-INFO +4 -3
  2. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/class_rectObj.py +16 -4
  3. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/class_sonObj.py +4 -9
  4. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/test_PINGMapper.py +14 -7
  5. pingmapper-5.4.5/pingmapper/version.py +1 -0
  6. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper.egg-info/PKG-INFO +4 -3
  7. {pingmapper-5.4.3 → pingmapper-5.4.5}/pyproject.toml +2 -1
  8. pingmapper-5.4.3/pingmapper/version.py +0 -1
  9. {pingmapper-5.4.3 → pingmapper-5.4.5}/LICENSE +0 -0
  10. {pingmapper-5.4.3 → pingmapper-5.4.5}/README.md +0 -0
  11. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/__init__.py +0 -0
  12. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/__main__.py +0 -0
  13. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/class_mapSubstrateObj.py +0 -0
  14. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/class_portstarObj.py +0 -0
  15. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/class_sonObj_nadirgaptest.py +0 -0
  16. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/default_params.json +0 -0
  17. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/doWork.py +0 -0
  18. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/funcs_common.py +0 -0
  19. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/funcs_model.py +0 -0
  20. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/funcs_rectify.py +0 -0
  21. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/gui_main.py +0 -0
  22. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/main_mapSubstrate.py +0 -0
  23. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/main_readFiles.py +0 -0
  24. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/main_rectify.py +0 -0
  25. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/nonGUI_batch_main.py +0 -0
  26. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/nonGui_main.py +0 -0
  27. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/processing_scripts/main_batchDirectory_2024-01-18_0926.py +0 -0
  28. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/processing_scripts/main_batchDirectory_2024-01-18_0929.py +0 -0
  29. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/scratch/funcs_pyhum_correct.py +0 -0
  30. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/scratch/main.py +0 -0
  31. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/scratch/main_batchDirectory.py +0 -0
  32. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/test_dq_filter.py +0 -0
  33. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/test_time.py +0 -0
  34. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/DRAFT_Workflows/avg_predictions_Mussel_WBL.py +0 -0
  35. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/DRAFT_Workflows/gen_centerline.py +0 -0
  36. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/DRAFT_Workflows/gen_centerline_from_bankline.py +0 -0
  37. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/DRAFT_Workflows/gen_centerline_trkpnts_fitspline_DRAFT.py +0 -0
  38. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/DRAFT_Workflows/testEXAMPLE_mosaic_logit.py +0 -0
  39. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/RawEGN_avg_predictions.py +0 -0
  40. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/Substrate_Summaries/00_substrate_logits_mosaic_transects.py +0 -0
  41. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/Substrate_Summaries/00_substrate_shps_mosaic_transects.py +0 -0
  42. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/Substrate_Summaries/01_gen_centerline_from_coverage.py +0 -0
  43. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/Substrate_Summaries/02_gen_summary_stamp_shps.py +0 -0
  44. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/Substrate_Summaries/03_gen_summary_shp.py +0 -0
  45. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/Substrate_Summaries/04_combine_summary_shp_csv.py +0 -0
  46. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/Substrate_Summaries/05_gen_summary_shp_plots.py +0 -0
  47. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/Substrate_Summaries/06_compare_raw-egn_volume.py +0 -0
  48. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/Substrate_Summaries/08_raw-egn_hardReacheFreq_hist.py +0 -0
  49. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/Substrate_Summaries/09_raw-egn_PatchSize_density.py +0 -0
  50. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/Substrate_Summaries/summarize_project_substrate.py +0 -0
  51. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/export_coverage.py +0 -0
  52. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper/utils/main_mosaic_transects.py +0 -0
  53. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper.egg-info/SOURCES.txt +0 -0
  54. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper.egg-info/dependency_links.txt +0 -0
  55. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper.egg-info/requires.txt +0 -0
  56. {pingmapper-5.4.3 → pingmapper-5.4.5}/pingmapper.egg-info/top_level.txt +0 -0
  57. {pingmapper-5.4.3 → pingmapper-5.4.5}/setup.cfg +0 -0
  58. {pingmapper-5.4.3 → pingmapper-5.4.5}/setup.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pingmapper
3
- Version: 5.4.3
3
+ Version: 5.4.5
4
4
  Summary: Open-source interface for processing recreation-grade side scan sonar datasets and reproducibly mapping benthic habitat
5
- Author: Daniel Buscombe
6
- Author-email: Cameron Bodine <bodine.cs@gmail.email>
5
+ Author: Cameron Bodine, Daniel Buscombe, Iury T Simoes-Sousa
6
+ Author-email: bodine.cs@gmail.email
7
7
  License-Expression: MIT
8
8
  Project-URL: Homepage, https://cameronbodine.github.io/PINGMapper/
9
9
  Project-URL: GitHub, https://github.com/CameronBodine/PINGMapper
@@ -32,6 +32,7 @@ Requires-Dist: doodleverse_utils>=0.0.39; extra == "ml"
32
32
  Requires-Dist: tensorflow<3,>=2.20; extra == "ml"
33
33
  Requires-Dist: tf-keras<3,>=2.20; extra == "ml"
34
34
  Requires-Dist: transformers<5,>=4.57; extra == "ml"
35
+ Dynamic: author-email
35
36
  Dynamic: license-file
36
37
  Dynamic: requires-python
37
38
 
@@ -327,7 +327,10 @@ class rectObj(sonObj):
327
327
  if self.egn_stretch > 0:
328
328
  self._egnDoStretch()
329
329
 
330
- img = self._reserve_zero_for_nodata(self.sonDat)
330
+ img = self._reserve_zero_for_nodata(
331
+ self.sonDat,
332
+ preserve_zeros=(not bool(getattr(self, 'son8bit', False))),
333
+ )
331
334
  img = self._prepare_export_uint16(img)
332
335
  vals = img[img > 0]
333
336
  if vals.size == 0:
@@ -1861,7 +1864,10 @@ class rectObj(sonObj):
1861
1864
  col = df[xPix].to_numpy().astype(int)
1862
1865
  data = df[sonCol].to_numpy()
1863
1866
  if son:
1864
- data = self._reserve_zero_for_nodata(data)
1867
+ data = self._reserve_zero_for_nodata(
1868
+ data,
1869
+ preserve_zeros=(not bool(getattr(self, 'son8bit', False))),
1870
+ )
1865
1871
  apply_post_rect_colormap = use_16bit and self._rect_colormap_selected(son=son)
1866
1872
  source_scale_bounds = None
1867
1873
  if apply_post_rect_colormap:
@@ -2721,7 +2727,10 @@ class rectObj(sonObj):
2721
2727
 
2722
2728
  img = self.sonDat.copy()
2723
2729
  if son:
2724
- img = self._reserve_zero_for_nodata(img)
2730
+ img = self._reserve_zero_for_nodata(
2731
+ img,
2732
+ preserve_zeros=(not bool(getattr(self, 'son8bit', False))),
2733
+ )
2725
2734
  apply_post_rect_colormap = use_16bit and self._rect_colormap_selected(son=son)
2726
2735
  source_scale_bounds = None
2727
2736
  if apply_post_rect_colormap:
@@ -2812,7 +2821,10 @@ class rectObj(sonObj):
2812
2821
 
2813
2822
  img = self.sonDat
2814
2823
  if son:
2815
- img = self._reserve_zero_for_nodata(img)
2824
+ img = self._reserve_zero_for_nodata(
2825
+ img,
2826
+ preserve_zeros=(not bool(getattr(self, 'son8bit', False))),
2827
+ )
2816
2828
  apply_post_rect_colormap = son and use_16bit and self._rect_colormap_selected(son=son)
2817
2829
  source_scale_bounds = None
2818
2830
  if apply_post_rect_colormap:
@@ -1819,14 +1819,6 @@ class sonObj(object):
1819
1819
 
1820
1820
  # ======================================================================
1821
1821
  def _prepare_export_uint16(self, data):
1822
- cached = getattr(self, 'sonDat16', None)
1823
- if cached is not None:
1824
- try:
1825
- if cached.shape == data.shape:
1826
- return cached.astype(np.uint16, copy=False)
1827
- except Exception:
1828
- pass
1829
-
1830
1822
  arr = np.asarray(data)
1831
1823
 
1832
1824
  if arr.dtype == np.uint16:
@@ -1931,12 +1923,15 @@ class sonObj(object):
1931
1923
  return bool(getattr(self, 'export_colormap_uint8', True))
1932
1924
 
1933
1925
  # ======================================================================
1934
- def _reserve_zero_for_nodata(self, data):
1926
+ def _reserve_zero_for_nodata(self, data, preserve_zeros=False):
1935
1927
  arr = np.asarray(data)
1936
1928
 
1937
1929
  if arr.size == 0:
1938
1930
  return arr
1939
1931
 
1932
+ if preserve_zeros:
1933
+ return arr.copy()
1934
+
1940
1935
  out = arr.copy()
1941
1936
 
1942
1937
  if np.issubdtype(out.dtype, np.floating):
@@ -90,10 +90,12 @@ def test(ds):
90
90
  print("1 = Short recording \n2 = Long recording \n\nSYNTAX: python test_PINGMapper.py <1 or 2>\n\n")
91
91
  sys.exit()
92
92
 
93
- d = os.environ.get('PINGMAPPER_DATA_DIR',
94
- os.environ.get('CONDA_PREFIX',
95
- os.path.join(os.path.expanduser('~'), '.pingmapper')))
96
- exampleDir = os.path.join(d, 'exampleData')
93
+ repo_root = PACKAGE_DIR
94
+ d = os.environ.get(
95
+ 'PINGMAPPER_DATA_DIR',
96
+ os.path.join(repo_root, '.data'),
97
+ )
98
+ exampleDir = os.path.join(d, 'example_data')
97
99
  ds_path = os.path.join(exampleDir, ds_name)
98
100
  ds_path = os.path.normpath(ds_path)
99
101
 
@@ -120,7 +122,12 @@ def test(ds):
120
122
  # Path to data/output
121
123
  inFile = ds_path+'.DAT'
122
124
  sonPath = ds_path
123
- projDir = os.path.join(user_home_path, 'Desktop', 'PINGMapper-'+ds_name)
125
+ proj_base_dir = os.environ.get(
126
+ 'PINGMAPPER_TEST_OUTPUT_DIR',
127
+ os.path.join(d, 'test_runs'),
128
+ )
129
+
130
+ projDir = os.path.join(proj_base_dir, 'PINGMapper-'+ds_name)
124
131
 
125
132
  inFile = os.path.abspath(inFile)
126
133
  sonPath = os.path.abspath(sonPath)
@@ -239,7 +246,7 @@ def test(ds):
239
246
  if project_mode == 0:
240
247
  # Create new project
241
248
  if not os.path.exists(projDir):
242
- os.mkdir(projDir)
249
+ os.makedirs(projDir, exist_ok=False)
243
250
  else:
244
251
  projectMode_1_inval()
245
252
 
@@ -248,7 +255,7 @@ def test(ds):
248
255
  if os.path.exists(projDir):
249
256
  shutil.rmtree(projDir)
250
257
 
251
- os.mkdir(projDir)
258
+ os.makedirs(projDir, exist_ok=False)
252
259
 
253
260
  elif project_mode == 2:
254
261
  # Update project
@@ -0,0 +1 @@
1
+ __version__ = '5.4.5'
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pingmapper
3
- Version: 5.4.3
3
+ Version: 5.4.5
4
4
  Summary: Open-source interface for processing recreation-grade side scan sonar datasets and reproducibly mapping benthic habitat
5
- Author: Daniel Buscombe
6
- Author-email: Cameron Bodine <bodine.cs@gmail.email>
5
+ Author: Cameron Bodine, Daniel Buscombe, Iury T Simoes-Sousa
6
+ Author-email: bodine.cs@gmail.email
7
7
  License-Expression: MIT
8
8
  Project-URL: Homepage, https://cameronbodine.github.io/PINGMapper/
9
9
  Project-URL: GitHub, https://github.com/CameronBodine/PINGMapper
@@ -32,6 +32,7 @@ Requires-Dist: doodleverse_utils>=0.0.39; extra == "ml"
32
32
  Requires-Dist: tensorflow<3,>=2.20; extra == "ml"
33
33
  Requires-Dist: tf-keras<3,>=2.20; extra == "ml"
34
34
  Requires-Dist: transformers<5,>=4.57; extra == "ml"
35
+ Dynamic: author-email
35
36
  Dynamic: license-file
36
37
  Dynamic: requires-python
37
38
 
@@ -10,8 +10,9 @@ readme = "README.md"
10
10
  license = "MIT"
11
11
  requires-python = ">=3.10"
12
12
  authors = [
13
- { name = "Cameron Bodine", email = "bodine.cs@gmail.email" },
13
+ { name = "Cameron Bodine"},
14
14
  { name = "Daniel Buscombe" },
15
+ { name = "Iury T Simoes-Sousa"}
15
16
  ]
16
17
  classifiers = [
17
18
  "Development Status :: 5 - Production/Stable",
@@ -1 +0,0 @@
1
- __version__ = '5.4.3'
File without changes
File without changes
File without changes
File without changes