ign-borea 0.2.1__py3-none-any.whl → 0.2.2__py3-none-any.whl

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.
borea/datastruct/dtm.py CHANGED
@@ -1,11 +1,11 @@
1
1
  """
2
2
  A module for manipulating a digital elevation model.
3
3
  """
4
- from pathlib import Path, PureWindowsPath
5
4
  import numpy as np
6
5
  from osgeo import gdal
7
6
  from scipy import ndimage
8
7
  from borea.transform_world_image.transform_dtm.world_image_dtm import WorldImageDtm
8
+ from borea.utils.check.check_path import check_path
9
9
  from borea.utils.singleton.singleton import Singleton
10
10
  gdal.UseExceptions()
11
11
 
@@ -49,7 +49,7 @@ class Dtm(WorldImageDtm, metaclass=Singleton):
49
49
  if path_dtm:
50
50
  gdal.AllRegister()
51
51
  self.type_dtm = type_dtm
52
- self.path_dtm = Path(PureWindowsPath(path_dtm))
52
+ self.path_dtm = check_path(path_dtm)
53
53
  self.img = gdal.Open(self.path_dtm.as_posix())
54
54
  self.rb = self.img.GetRasterBand(1)
55
55
  self.nodata = self.rb.GetNoDataValue()
borea/format/rpc.py CHANGED
@@ -9,6 +9,7 @@ from borea.datastruct.dtm import Dtm
9
9
  from borea.transform_world_image.transform_shot.image_world_shot import ImageWorldShot
10
10
  from borea.transform_world_image.transform_shot.world_image_shot import WorldImageShot
11
11
  from borea.utils.miscellaneous.miscellaneous import normalize
12
+ from borea.utils.solver.solver import npsolve
12
13
 
13
14
 
14
15
  class Rpc:
@@ -161,7 +162,7 @@ class Rpc:
161
162
  np.array: Rpc coefficients.
162
163
  """
163
164
  mat_obs = self.setup_matrix_obs_rpc(img_norm, world_norm, polynomial_degree)
164
- x = np.linalg.lstsq(mat_obs, img_norm, rcond=None)[0]
165
+ x = npsolve(mat_obs, img_norm)
165
166
 
166
167
  coef_rpc = np.zeros(40)
167
168
  if polynomial_degree == 1:
@@ -2,7 +2,7 @@
2
2
  Photogrammetry site file reader module.
3
3
  """
4
4
  import importlib
5
- from pathlib import Path, PureWindowsPath
5
+ from borea.utils.check.check_path import check_path
6
6
  from borea.worksite.worksite import Worksite
7
7
 
8
8
 
@@ -19,7 +19,7 @@ def reader_orientation(file: str, args: dict) -> Worksite:
19
19
  """
20
20
  # Attention multiple file management orientation
21
21
  # Attention management of files with the same extension but different formats
22
- file = Path(PureWindowsPath(file))
22
+ file = check_path(file)
23
23
  name_work = file.stem
24
24
  ext = file.suffix[1:]
25
25
 
@@ -1,8 +1,9 @@
1
1
  """
2
2
  Script to read camera file txt or xml.
3
3
  """
4
- from pathlib import Path, PureWindowsPath
4
+ from pathlib import Path
5
5
  from borea.datastruct.camera import Camera
6
+ from borea.utils.check.check_path import check_path
6
7
  from borea.worksite.worksite import Worksite
7
8
 
8
9
 
@@ -15,7 +16,7 @@ def read_camera(files: list, work: Worksite) -> None:
15
16
  work (Worksite): Worksite which needs camera data.
16
17
  """
17
18
  for file in files:
18
- camera_txt(Path(PureWindowsPath(file)), work)
19
+ camera_txt(check_path(file), work)
19
20
 
20
21
 
21
22
  def camera_txt(file: Path, work: Worksite) -> None:
@@ -2,9 +2,9 @@
2
2
  Script to read point (connecting point, gcp2d gcp3d) format
3
3
  .txt/.mes/.app with data arranged in columns.
4
4
  """
5
- from pathlib import Path, PureWindowsPath
6
5
  import pandas as pd
7
6
  import numpy as np
7
+ from borea.utils.check.check_path import check_path
8
8
  from borea.worksite.worksite import Worksite
9
9
  from borea.utils.check.check_args_reader_pt import check_header_file
10
10
 
@@ -26,7 +26,7 @@ def read_file_pt(path: str, header: list, type_point: str, work: Worksite) -> No
26
26
  work.type_z_data = type_z
27
27
 
28
28
  try:
29
- with open(Path(PureWindowsPath(path)), 'r', encoding="utf-8") as file_pts:
29
+ with open(check_path(path), 'r', encoding="utf-8") as file_pts:
30
30
  for pt in file_pts.readlines():
31
31
  if pt != '\n' and pt[0] != '#':
32
32
  info = pt.split()
@@ -74,7 +74,7 @@ def read_file_pt_dataframe(path: str, header: list, type_point: str) -> tuple:
74
74
  ttype = []
75
75
  coor = []
76
76
  try:
77
- with open(Path(PureWindowsPath(path)), 'r', encoding="utf-8") as file_pts:
77
+ with open(check_path(path), 'r', encoding="utf-8") as file_pts:
78
78
  for pt in file_pts.readlines():
79
79
  if pt != '\n' and pt[0] != '#':
80
80
  info = pt.split()
borea/stat/statistics.py CHANGED
@@ -3,8 +3,8 @@ Module for statistics
3
3
  """
4
4
  import os
5
5
  import io
6
- from pathlib import Path, PureWindowsPath
7
6
  import numpy as np
7
+ from borea.utils.check.check_path import check_path
8
8
  from borea.worksite.worksite import Worksite
9
9
 
10
10
 
@@ -22,7 +22,7 @@ class Stat:
22
22
  type_point (list): List of type point on which we make the stats.
23
23
  """
24
24
  self.work = work
25
- self.pathoutput = Path(PureWindowsPath(pathoutput))
25
+ self.pathoutput = check_path(pathoutput)
26
26
 
27
27
  if type_point is None:
28
28
  self.type_point = []
@@ -13,6 +13,7 @@ from borea.transform_world_image.transform_shot.image_world_shot import ImageWor
13
13
  # pylint: disable-next=line-too-long
14
14
  from borea.transform_world_image.transform_worksite.image_world_intersection import WorldIntersection # noqa: E501
15
15
  from borea.utils.miscellaneous.param_bundle import set_param_bundle_diff
16
+ from borea.utils.solver.solver import npsolve
16
17
 
17
18
 
18
19
  class SpaceResection:
@@ -240,8 +241,7 @@ class SpaceResection:
240
241
 
241
242
  # Creation of A with mat_obs_axia
242
243
  # Calculate dx = (A.T @ A)**-1 @ A.T @ B
243
- return np.squeeze(np.linalg.lstsq(self.mat_obs_axia(pt_eucli, shot_adjust),
244
- v_res, rcond=None)[0])
244
+ return np.squeeze(npsolve(self.mat_obs_axia(pt_eucli, shot_adjust), v_res))
245
245
 
246
246
  def mat_obs_axia(self, pt_eucli: np.ndarray, imc_adjust: Shot) -> np.ndarray:
247
247
  """
@@ -0,0 +1,26 @@
1
+ """
2
+ Script to check path of data.
3
+ """
4
+ from pathlib import Path, PureWindowsPath, PurePosixPath
5
+
6
+
7
+ def check_path(file: str) -> Path:
8
+ """
9
+ Check path of data if Posix of Windows path.
10
+
11
+ Args:
12
+ file (str): The path of data.
13
+
14
+ Returns:
15
+ Path: The good path.
16
+ """
17
+ file = Path(file)
18
+ name = file.stem
19
+
20
+ if "/" in name:
21
+ return Path(PurePosixPath(file))
22
+
23
+ if "\\" in name:
24
+ return Path(PureWindowsPath(file))
25
+
26
+ return file
File without changes
@@ -0,0 +1,18 @@
1
+ """
2
+ Least square solver used by Borea
3
+ """
4
+ import numpy as np
5
+
6
+
7
+ def npsolve(mat_a: np.ndarray, mat_b: np.ndarray) -> np.ndarray:
8
+ """
9
+ Solver used by Borea to resolve Ax = B
10
+
11
+ Args:
12
+ mat_a (np.ndarray): Matrix A
13
+ mat_b (np.ndarray): Matrix B
14
+
15
+ Returns:
16
+ np.ndarray: the result x
17
+ """
18
+ return np.linalg.lstsq(mat_a, mat_b, rcond=None)[0]
@@ -2,7 +2,7 @@
2
2
  Photogrammetry worksite to writing in rpc.
3
3
  """
4
4
  import os
5
- from pathlib import Path, PureWindowsPath
5
+ from borea.utils.check.check_path import check_path
6
6
  from borea.worksite.worksite import Worksite
7
7
  from borea.geodesy.proj_engine import ProjEngine
8
8
  from borea.format.conl import Conl
@@ -31,6 +31,6 @@ def write(name: str, folder_con: str, param_con: dict, work: Worksite) -> None:
31
31
 
32
32
  for name_shot, shot in work.shots.items():
33
33
  cam = work.cameras[shot.name_cam]
34
- path_conical = os.path.join(Path(PureWindowsPath(folder_con)), f"{name_shot}.CON")
34
+ path_conical = os.path.join(check_path(folder_con), f"{name_shot}.CON")
35
35
 
36
36
  Conl(shot, cam, geoview_proj).save_conl(path_conical)
@@ -2,8 +2,8 @@
2
2
  Photogrammetry worksite to writing dataframe to txt.
3
3
  """
4
4
  import os
5
- from pathlib import Path, PureWindowsPath
6
5
  import pandas as pd
6
+ from borea.utils.check.check_path import check_path
7
7
 
8
8
 
9
9
  def write_df_to_txt(name: str, pathreturn: str, df: pd.DataFrame) -> None:
@@ -15,7 +15,7 @@ def write_df_to_txt(name: str, pathreturn: str, df: pd.DataFrame) -> None:
15
15
  pathreturn (str): Path to save the file.
16
16
  df (pd.DataFrame): DataFrame to save.
17
17
  """
18
- path_txt = os.path.join(Path(PureWindowsPath(pathreturn)), f"{name}.txt")
18
+ path_txt = os.path.join(check_path(pathreturn), f"{name}.txt")
19
19
 
20
20
  name_column = list(df.columns)
21
21
 
@@ -2,8 +2,8 @@
2
2
  Photogrammetry worksite to writing in opk.
3
3
  """
4
4
  import os
5
- from pathlib import Path, PureWindowsPath
6
5
  import numpy as np
6
+ from borea.utils.check.check_path import check_path
7
7
  from borea.worksite.worksite import Worksite
8
8
  from borea.utils.check.check_args_opk import check_header_file
9
9
 
@@ -24,7 +24,7 @@ def write(name_opk: str, path_opk: str, args: dict, work: Worksite) -> None:
24
24
  linear alteration.
25
25
  work (Worksite): The site to be recorded.
26
26
  """
27
- path_opk = os.path.join(Path(PureWindowsPath(path_opk)), f"{name_opk}.opk")
27
+ path_opk = os.path.join(check_path(path_opk), f"{name_opk}.opk")
28
28
 
29
29
  if args["header"]:
30
30
  header, type_z = check_header_file(args["header"])
@@ -2,8 +2,8 @@
2
2
  Photogrammetry worksite to writing in rpc.
3
3
  """
4
4
  import os
5
- from pathlib import Path, PureWindowsPath
6
5
  from borea.format.rpc import Rpc
6
+ from borea.utils.check.check_path import check_path
7
7
  from borea.worksite.worksite import Worksite
8
8
  from borea.datastruct.dtm import Dtm
9
9
 
@@ -53,6 +53,6 @@ def write(name: str, folder_rpc: str, param_rpc: dict, work: Worksite) -> None:
53
53
  for idx, val in enumerate(rpc.param_rpc["SAMP_DEN_COEFF"]):
54
54
  list_txt_rpc += [f"SAMP_DEN_COEFF_{idx + 1}: {val}"]
55
55
 
56
- path_rpc = os.path.join(Path(PureWindowsPath(folder_rpc)),
56
+ path_rpc = os.path.join(check_path(folder_rpc),
57
57
  f"{name_shot}_RPC.TXT")
58
- Path(path_rpc).write_text("\n".join(list_txt_rpc), encoding="UTF-8")
58
+ check_path(path_rpc).write_text("\n".join(list_txt_rpc), encoding="UTF-8")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ign-borea
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: A package to manipulate orientation files
5
5
  Author-email: Antoine Cornu <antoine.cornu@ign.fr>, Nicolas Laurain <nicolas.laurain@ign.fr>
6
6
  License: MIT License
@@ -1,13 +1,13 @@
1
1
  borea/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  borea/datastruct/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  borea/datastruct/camera.py,sha256=78cOKiqm08HRWFNHFJsL-egiDFxEsB74AtI-BWsFEqQ,660
4
- borea/datastruct/dtm.py,sha256=qsoH7wJGbolyRIMd7q8FI9Xk-8TwQo9dBvI79lbaJIU,3998
4
+ borea/datastruct/dtm.py,sha256=l2SMkZ8DGUtjmyt5AJsIOZ98dMzSZX8ADewEeb4zpfU,3997
5
5
  borea/datastruct/gcp.py,sha256=cXDGPAAIpHWI0Wq8VexAqcodg7GmdtDbVeWXjzOYuAs,544
6
6
  borea/datastruct/shot.py,sha256=kYvCSuKRntIMAXaJX75jaMIJJdWEFLAjV-bCWWHWV8g,9160
7
7
  borea/datastruct/workdata.py,sha256=xTt-3P1l90q_EPL__TRBFz5zl6U2UXEDPPAct0gRWQ8,8844
8
8
  borea/format/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  borea/format/conl.py,sha256=mYzDO2A8BoEBMSlok5iUvzoADHMMywgq4iE_l1S_1Jg,4767
10
- borea/format/rpc.py,sha256=T5IAv6USqb8mdgao427cL1qyvJC5SdHS2H080f7Mbcs,11362
10
+ borea/format/rpc.py,sha256=IINnCt4f_W8V9LyFVGdfU_SDzk-xDrhqe8GuzEQ_YUc,11385
11
11
  borea/geodesy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  borea/geodesy/approx_euclidean_proj.py,sha256=0X3BHKeK0YPBFRjpRkyEtI-unXljzjcXRKGADHAN3dY,3235
13
13
  borea/geodesy/euclidean_proj.py,sha256=VSPckwZAvem4z6SQhdacjwC4XbcucNjA6gWEjBVBEJY,684
@@ -39,13 +39,13 @@ borea/process/p_func/p_spaceresection.py,sha256=-VPtXXrZ4hfuM0KjLgNtbQn0ZJAbK0w2
39
39
  borea/process/p_func/p_tf_proj_pt.py,sha256=DH8C37IynzaRtOb4I1PnJRrwH4NyNPCKjGN96W0rqj4,1556
40
40
  borea/process/p_func/p_world_image.py,sha256=8vD7J93ze305I4zMkzZhUOlFacJRaS9w9ILIUR_44-Y,1569
41
41
  borea/reader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
- borea/reader/reader_camera.py,sha256=xBAJTMdXbPZTD_DvH83WEB7Jx808mTu_ZmmdVsrdYck,1606
43
- borea/reader/reader_point.py,sha256=aRmvyTYC-McZGKI1NPpHoGcAeHrYCanPdLO1La-3vFI,4473
42
+ borea/reader/reader_camera.py,sha256=KaOcDuu0rh_PPc60xAeetoiJVfd3gBL89aJsNKjrwgE,1630
43
+ borea/reader/reader_point.py,sha256=FAemx2z8cFMfPXLwatRXDCtRFBX-8-i7kezcsOOzI_Q,4461
44
44
  borea/reader/orientation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- borea/reader/orientation/manage_reader.py,sha256=Q7MATjkQtCKdb1vU6FOYXdfoViipakq2Sm30sQcMO7c,986
45
+ borea/reader/orientation/manage_reader.py,sha256=TZ7YpeWJgGmMaTvD5cYzQWW9dPa5COe-k-p7y2KdCRE,985
46
46
  borea/reader/orientation/reader_opk.py,sha256=zsNwzPzGOu4aqvrN_Q3yQhrEbyqQcNo92Vp9nfmWQ-c,2799
47
47
  borea/stat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
- borea/stat/statistics.py,sha256=846GkzmOwyTUvZInuVk04xFo74I70TWgJ1QShoXabi0,9434
48
+ borea/stat/statistics.py,sha256=_JPqom20AhUcCSXuSOXH-hbxMsC1v_t2ZI43q9btiBc,9433
49
49
  borea/transform_world_image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
50
  borea/transform_world_image/transform_dtm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
51
  borea/transform_world_image/transform_dtm/world_image_dtm.py,sha256=0tRMnFY0eqo8wggOnEd_VANy7g8WIrUZNnhY-RFAJnU,1335
@@ -57,7 +57,7 @@ borea/transform_world_image/transform_worksite/__init__.py,sha256=47DEQpj8HBSa-_
57
57
  borea/transform_world_image/transform_worksite/image_world_intersection.py,sha256=EWFy65qcPQ4yG4h_EHrQvk6aWFuB9ukpm2kgiOveGC8,6440
58
58
  borea/transform_world_image/transform_worksite/image_world_least_square.py,sha256=9APLwtmRE6D3F_RZr_nK7bdxg6LwfzEiUYgefgSap5I,7926
59
59
  borea/transform_world_image/transform_worksite/image_world_work.py,sha256=bK6IoffN_lnVfwFHUBKBA8A5blBNeWzT7voatVtfLaA,2037
60
- borea/transform_world_image/transform_worksite/space_resection.py,sha256=bdhDz9zNISdfGm2JQRE2khghPE4DAXj-i3f8pCzQ6ss,14595
60
+ borea/transform_world_image/transform_worksite/space_resection.py,sha256=X1JTEfQf5oVdM3w4w0iESOeoRxlALfjgPm8cQXDyUZU,14576
61
61
  borea/transform_world_image/transform_worksite/world_image_work.py,sha256=2bHIIINEumFD1GvU2bdOi8V9bTvMCBKwCIzxFNR796c,1721
62
62
  borea/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
63
  borea/utils/check/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -66,22 +66,25 @@ borea/utils/check/check_args_reader_pt.py,sha256=FfS5HaEH6lJK8CvfGCQOMLoStWJXwT6
66
66
  borea/utils/check/check_array.py,sha256=Nzlv-j0A-gokITfe1fEe_pMi9XnBSIu95KYME7dOSxw,1800
67
67
  borea/utils/check/check_header.py,sha256=lFQdcv8xrB7OZPlo3apo7AbAzpxQ6rR92SnauS3NTuE,2627
68
68
  borea/utils/check/check_order_axe.py,sha256=EwQ5jHG74MImJu3aiVi4Kkp5tRgxghD3PxETO9uk21c,1183
69
+ borea/utils/check/check_path.py,sha256=IRHV0bZO1TJJt2f-N4yEyj8iY-o85hmJgioUXAyfRHA,476
69
70
  borea/utils/miscellaneous/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
71
  borea/utils/miscellaneous/miscellaneous.py,sha256=ajX3QaqhIRFrB6JjE5vF8QvV8yx4NG1lxLp_ZGsMak8,1998
71
72
  borea/utils/miscellaneous/param_bundle.py,sha256=aX_Ggzv-yLkHY28rwigasS1sD32kq0c1Nn4ZZrvEsEM,1163
72
73
  borea/utils/miscellaneous/sparse.py,sha256=ou4A-r49zx5AmzvLwYODZVGZAQxUcDM7ImO4HEVm7u4,912
73
74
  borea/utils/singleton/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
75
  borea/utils/singleton/singleton.py,sha256=nTPEI033sYMmVDHBfLgcHdpBFmkU-gidpKPrmQ5fD68,586
76
+ borea/utils/solver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
+ borea/utils/solver/solver.py,sha256=COWdWdeAnrE-ztFwgTgzNM5hrid0PfUUqurnS1hfdX4,375
75
78
  borea/utils/xml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
79
  borea/utils/xml/xml.py,sha256=zHW8p1HmSVp_L-Yu0SGqsTHrJptnG3LdARyjUDxHUpY,1671
77
80
  borea/worksite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
81
  borea/worksite/worksite.py,sha256=8sEhjWQRaU8rkMwzRo5WDeqUzVmN0xWnxDW7GizFzFU,9364
79
82
  borea/writer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
83
  borea/writer/manage_writer.py,sha256=ukOHO4zfIQG-bJoi_rw85LIAjIsfcI1lJIQi9b2CTcs,799
81
- borea/writer/writer_con.py,sha256=hm2ewKLP4-B0abg6Q6Mq_5ktuwQwaveGB2sazKG5Jqs,1189
82
- borea/writer/writer_df_to_txt.py,sha256=kr5DXbOGEqhoonYf9rQqQkku5k0nAenNoC3zE0pZDYQ,938
83
- borea/writer/writer_opk.py,sha256=WLy4uxaXiHtKACteieZm9QifBMjZki1z9bxlhV1RFAE,2652
84
- borea/writer/writer_rpc.py,sha256=13M0zPvVCGG8HpiYDYYKzUq_jQGVG8yuChO43e2-TYU,2228
84
+ borea/writer/writer_con.py,sha256=LL2ZgGHsn19q16JDKfv7glJkQo02aOwvGzjGp2hJ-ro,1188
85
+ borea/writer/writer_df_to_txt.py,sha256=6wm1qFUNC6RwHTPaAPHoB6oRpumu8Bx9F23DsCoI8rU,937
86
+ borea/writer/writer_opk.py,sha256=0fWoTta-Q-ON4EhzcWdgbuK6k6WWcOi1phJ_t9Fqr9w,2651
87
+ borea/writer/writer_rpc.py,sha256=jhV9Thj1a_kv_RKtkmT29bt0Pkqvw79bsqJT3MlHSxE,2233
85
88
  borea_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
89
  borea_tools/opk_control.py,sha256=jU6CitB1WzmKc_uT5GbdmXeYlHwvtnzKD7gcNv_XKTY,907
87
90
  borea_tools/opk_to_conl.py,sha256=iX7f1f6KR-cVQxMYimfKmZVtUnuYFRpmUDH1bzZFZjQ,1054
@@ -93,9 +96,9 @@ borea_tools/ptfile_image_to_world.py,sha256=F4rpSexO_2lSFOVQ5WjajhhmfS71x4_3HLDL
93
96
  borea_tools/ptfile_world_to_image.py,sha256=NkAmhppWW_boXIhKue5aoNCLnrhv8G2IwVqJJto-8MM,984
94
97
  borea_tools/spaceresection_opk.py,sha256=xZeLZnSLFBP2BCKT_ere8r0mjvfIkr9GkU7HG3hWCUo,1240
95
98
  borea_tools/transform_proj_points.py,sha256=oFBLrV0xZKqmuNsGwUsnfN3ODnzXXOpbLCM-PggURbM,792
96
- ign_borea-0.2.1.dist-info/LICENSE,sha256=dYSQkCbiWEky0zxQDlv5bJoETo6HWl5bLK1YZ3EjaUc,1120
97
- ign_borea-0.2.1.dist-info/METADATA,sha256=kgup0xHOgTeYQNdX63pMfTAfV748Qr3qi5PkdINy-CI,17115
98
- ign_borea-0.2.1.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
99
- ign_borea-0.2.1.dist-info/entry_points.txt,sha256=b6glLVH7i9ZDczq9jixxTcm3eBtd-hhQk8CB6wMgK2c,655
100
- ign_borea-0.2.1.dist-info/top_level.txt,sha256=lJfyWpWFfy0625vF49vsPvf7TBTZa3CExzPW5Iormno,18
101
- ign_borea-0.2.1.dist-info/RECORD,,
99
+ ign_borea-0.2.2.dist-info/LICENSE,sha256=dYSQkCbiWEky0zxQDlv5bJoETo6HWl5bLK1YZ3EjaUc,1120
100
+ ign_borea-0.2.2.dist-info/METADATA,sha256=2z2Di864QRh59iTR4N8s9tT19n4IUf5lg2dJCAsKZj4,17115
101
+ ign_borea-0.2.2.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
102
+ ign_borea-0.2.2.dist-info/entry_points.txt,sha256=b6glLVH7i9ZDczq9jixxTcm3eBtd-hhQk8CB6wMgK2c,655
103
+ ign_borea-0.2.2.dist-info/top_level.txt,sha256=lJfyWpWFfy0625vF49vsPvf7TBTZa3CExzPW5Iormno,18
104
+ ign_borea-0.2.2.dist-info/RECORD,,