sdfr 1.4.1__py3-none-win_amd64.whl → 1.4.2__py3-none-win_amd64.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.
sdfr/_commit_info.py CHANGED
@@ -1,2 +1,2 @@
1
- __commit_date__ = "Wed Jun 4 23:52:44 2025 +0100"
2
- __commit_id__ = "2a253d656c6c5be2d4ff1b7d0071155ef5f2f93c"
1
+ __commit_date__ = "Fri Jun 6 11:53:05 2025 +0100"
2
+ __commit_id__ = "5dcc8bbaddd76aaeb5f5c8d335b32f272fd3e05e"
sdfr/sdf_helper.py CHANGED
@@ -1262,19 +1262,31 @@ def plot_rays(var, skip=1, rays=None, **kwargs):
1262
1262
  ----------
1263
1263
  var : sdf.Block
1264
1264
  The SDF variable for the rays to plot
1265
+ rays : list
1266
+ A list of ray numbers to plot
1267
+ ray_start : integer
1268
+ The first ray number to plot
1269
+ ray_stop : integer
1270
+ The last ray number to plot
1265
1271
  skip : integer
1266
1272
  Number of rays to skip before selecting the next one to plot
1267
1273
  """
1268
1274
 
1269
- ray_start = -1
1270
- l = "ray_start"
1271
- if l in kwargs:
1272
- ray_start = kwargs[l]
1275
+ if rays:
1276
+ if isinstance(rays, int):
1277
+ rays = [rays]
1278
+ else:
1279
+ ray_start, ray_stop = None, None
1280
+
1281
+ l = "ray_start"
1282
+ if l in kwargs:
1283
+ ray_start = kwargs[l]
1284
+
1285
+ l = "ray_stop"
1286
+ if l in kwargs:
1287
+ ray_stop = kwargs[l]
1273
1288
 
1274
- ray_stop = 1e9
1275
- l = "ray_stop"
1276
- if l in kwargs:
1277
- ray_stop = kwargs[l]
1289
+ ray_slice = slice(ray_start, ray_stop, skip)
1278
1290
 
1279
1291
  if isinstance(var, sdf.BlockStitchedPath):
1280
1292
  v = var.data[0]
@@ -1303,27 +1315,26 @@ def plot_rays(var, skip=1, rays=None, **kwargs):
1303
1315
  v = var.data[0]
1304
1316
  vmin = v.data.min()
1305
1317
  vmax = v.data.max()
1306
- for iray, v in enumerate(var.data):
1307
- if iray < ray_start:
1308
- continue
1309
- if iray > ray_stop:
1310
- break
1311
- if iray % skip == 0:
1312
- vmin = min(vmin, v.data.min())
1313
- vmax = max(vmax, v.data.max())
1318
+ if rays:
1319
+ ray_list = [var.data[i] for i in rays]
1320
+ else:
1321
+ ray_list = var.data[ray_slice]
1322
+ for v in ray_list:
1323
+ vmin = min(vmin, v.data.min())
1324
+ vmax = max(vmax, v.data.max())
1314
1325
  if k0 not in kwargs:
1315
1326
  kwargs[k0] = vmin
1316
1327
  if k1 not in kwargs:
1317
1328
  kwargs[k1] = vmax
1318
1329
 
1319
- for iray, v in enumerate(var.data):
1320
- if iray < ray_start:
1321
- continue
1322
- if iray > ray_stop:
1323
- break
1324
- if iray % skip == 0:
1325
- plot_auto(v, update=False, **kwargs)
1326
- kwargs["hold"] = True
1330
+ if rays:
1331
+ ray_list = [var.data[i] for i in rays]
1332
+ else:
1333
+ ray_list = var.data[ray_slice]
1334
+
1335
+ for v in ray_list:
1336
+ plot_auto(v, update=False, **kwargs)
1337
+ kwargs["hold"] = True
1327
1338
 
1328
1339
  plot_auto(var.data[0], axis_only=True, **kwargs)
1329
1340
  kwargs["hold"] = True
@@ -1341,17 +1352,16 @@ def plot_rays(var, skip=1, rays=None, **kwargs):
1341
1352
  if k not in kwargs and not (k0 in kwargs and k1 in kwargs):
1342
1353
  vmin = var.data.min()
1343
1354
  vmax = var.data.max()
1344
- iray = -1
1345
- for k in data.keys():
1355
+
1356
+ if rays:
1357
+ ray_list = [data[i] for i in rays]
1358
+ else:
1359
+ ray_list = data[ray_slice]
1360
+
1361
+ for k in ray_list.keys():
1346
1362
  if k.startswith(start) and k.endswith(end):
1347
- iray += 1
1348
- if iray < ray_start:
1349
- continue
1350
- if iray > ray_stop:
1351
- break
1352
- if iray % skip == 0:
1353
- vmin = min(vmin, data[k].data.min())
1354
- vmax = max(vmax, data[k].data.max())
1363
+ vmin = min(vmin, data[k].data.min())
1364
+ vmax = max(vmax, data[k].data.max())
1355
1365
  if k0 not in kwargs:
1356
1366
  kwargs[k0] = vmin
1357
1367
  if k1 not in kwargs:
@@ -1367,17 +1377,15 @@ def plot_rays(var, skip=1, rays=None, **kwargs):
1367
1377
  + ")$"
1368
1378
  )
1369
1379
 
1370
- iray = -1
1371
- for k in data.keys():
1380
+ if rays:
1381
+ ray_list = [data[i] for i in rays]
1382
+ else:
1383
+ ray_list = data[ray_slice]
1384
+
1385
+ for k in ray_list.keys():
1372
1386
  if k.startswith(start) and k.endswith(end):
1373
- iray += 1
1374
- if iray < ray_start:
1375
- continue
1376
- if iray > ray_stop:
1377
- break
1378
- if iray % skip == 0:
1379
- plot_auto(data[k], hold=True, update=False, **kwargs)
1380
- kwargs["hold"] = True
1387
+ plot_auto(data[k], hold=True, update=False, **kwargs)
1388
+ kwargs["hold"] = True
1381
1389
 
1382
1390
  plot_auto(var, axis_only=True, **kwargs)
1383
1391
  kwargs["hold"] = True
sdfr/sdfc_shared.dll CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sdfr
3
- Version: 1.4.1
3
+ Version: 1.4.2
4
4
  Summary: Python module for processing SDF files
5
5
  Author-Email: Keith Bennett <k.bennett@warwick.ac.uk>
6
6
  Requires-Dist: numpy
@@ -0,0 +1,11 @@
1
+ sdfr/__init__.py,sha256=OxcJAJ0ADoE54vgqMQqxhoFWyU2ldb3fb-_LFyeZZfQ,1209
2
+ sdfr/_commit_info.py,sha256=jwTvStv8tg4Qb70lnQJKYmLqt8iKXFkCWyjp6Nny_v8,111
3
+ sdfr/loadlib.py,sha256=EMcnZhh68fS72Bjv8QtfDzPbowx1FfaqX4TPhDl-o94,2328
4
+ sdfr/SDF.py,sha256=bt4DOuOTmbc_lvtTBz7khVtbaFStiO6RKN2FAq3DjrI,31144
5
+ sdfr/sdf_helper.py,sha256=cI6F9531e7hbp6oe_hnjPi9pdl6QddsTbohqlNdyg6c,63755
6
+ sdfr/sdfc_shared.dll,sha256=TLQv8SAAPDHOauouXnajxSt2vZLnhfqhsBL5C2dflGk,13312
7
+ sdfr-1.4.2.dist-info/METADATA,sha256=qv9qETHA5SXPuwveGOfKF2t8B3sUMBgvpV6j7hda6tI,370
8
+ sdfr-1.4.2.dist-info/WHEEL,sha256=M0M8yQSkdzjr-Re7BLxGdurZIJei1aSjIm-hgxnt5-w,103
9
+ sdfr-1.4.2.dist-info/licenses/LICENSE,sha256=gpLeavs1KxgJFrpL_uVDh0MoDvPfJoZ89A5dSCl4P5U,1652
10
+ sdfr-1.4.2.dist-info/licenses/LICENSE_README.txt,sha256=KlBSoHArwoXbiygx3IJTjtgM7hLNO9o8ZMlZV77nrXs,235
11
+ sdfr-1.4.2.dist-info/RECORD,,
@@ -1,11 +0,0 @@
1
- sdfr/__init__.py,sha256=OxcJAJ0ADoE54vgqMQqxhoFWyU2ldb3fb-_LFyeZZfQ,1209
2
- sdfr/_commit_info.py,sha256=20v94y3_6YeM0pAm8wRm70t5ebQ18y2FoifXCDo9mD8,111
3
- sdfr/loadlib.py,sha256=EMcnZhh68fS72Bjv8QtfDzPbowx1FfaqX4TPhDl-o94,2328
4
- sdfr/SDF.py,sha256=bt4DOuOTmbc_lvtTBz7khVtbaFStiO6RKN2FAq3DjrI,31144
5
- sdfr/sdf_helper.py,sha256=jS4fxmq1y7PeryrPFuB_Lgu5n88-cNggaWMvQy4XqSA,63682
6
- sdfr/sdfc_shared.dll,sha256=lbV06dhdwDuooU0AF5cCVeS43slrXKIrJBxaaE3jKYs,13312
7
- sdfr-1.4.1.dist-info/METADATA,sha256=OpBhOHlMqYOw0H7MAMZDdSqIBvDHcfIzUPagTMoDz3U,370
8
- sdfr-1.4.1.dist-info/WHEEL,sha256=M0M8yQSkdzjr-Re7BLxGdurZIJei1aSjIm-hgxnt5-w,103
9
- sdfr-1.4.1.dist-info/licenses/LICENSE,sha256=gpLeavs1KxgJFrpL_uVDh0MoDvPfJoZ89A5dSCl4P5U,1652
10
- sdfr-1.4.1.dist-info/licenses/LICENSE_README.txt,sha256=KlBSoHArwoXbiygx3IJTjtgM7hLNO9o8ZMlZV77nrXs,235
11
- sdfr-1.4.1.dist-info/RECORD,,
File without changes