lavavu 1.8.75__cp39-cp39-manylinux_2_28_x86_64.whl → 1.8.79__cp39-cp39-manylinux_2_28_x86_64.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.
lavavu/LavaVuPython.py CHANGED
@@ -1,5 +1,5 @@
1
1
  # This file was automatically generated by SWIG (https://www.swig.org).
2
- # Version 4.1.0
2
+ # Version 4.2.0
3
3
  #
4
4
  # Do not make changes to this file unless you know what you are doing - modify
5
5
  # the SWIG interface file instead.
lavavu/convert.py CHANGED
@@ -110,10 +110,10 @@ def points_to_volume_histogram(verts, weights, res=8, normed=True, clamp=None, b
110
110
 
111
111
  #H, edges = numpy.histogramdd(verts, bins=RES)
112
112
  if boundingbox is None:
113
- H, edges = numpy.histogramdd(verts, weights=weights, bins=RES, normed=normed) #density=True for newer numpy
113
+ H, edges = numpy.histogramdd(verts, weights=weights, bins=RES, density=normed) #density=True for newer numpy
114
114
  else:
115
115
  rg = ((vmin[0], vmax[0]), (vmin[1], vmax[1]), (vmin[2], vmax[2])) #provide bounding box as range
116
- H, edges = numpy.histogramdd(verts, weights=weights, bins=RES, range=rg, normed=normed) #density=True for newer numpy
116
+ H, edges = numpy.histogramdd(verts, weights=weights, bins=RES, range=rg, density=normed) #density=True for newer numpy
117
117
 
118
118
  #Reverse ordering X,Y,Z to Z,Y,X for volume data
119
119
  values = H.transpose()
lavavu/html/webview.html CHANGED
@@ -27,7 +27,7 @@
27
27
 
28
28
  <input id="fileinput" type="file" style="visibility:hidden" onchange="useFileInput(this)" />
29
29
 
30
- <script async src="https://cdn.jsdelivr.net/gh/lavavu/lavavu.github.io@1.8.75/LavaVu-amalgamated.min.js"></script>
30
+ <script async src="https://cdn.jsdelivr.net/gh/lavavu/lavavu.github.io@1.8.79/LavaVu-amalgamated.min.js"></script>
31
31
  <!--script src="dat.gui.min.js"></script>
32
32
  <script src="OK-min.js"></script>
33
33
 
lavavu/lavavu.py CHANGED
@@ -166,6 +166,37 @@ def _convert(data, dtype=None):
166
166
 
167
167
  return data
168
168
 
169
+ def is_documented_by(original):
170
+ def wrapper(target):
171
+ target.__doc__ = original.__doc__
172
+ return target
173
+ return wrapper
174
+
175
+ def _brightness_contrast_saturation(target, brightness=0.5, contrast=0.5, saturation=0.5):
176
+ """
177
+ Set brightness, contrast and saturation in the range [0,1]
178
+ Zero is minimum level
179
+ 0.5 is default, normal setting
180
+ 1 is maximum level
181
+
182
+ Parameters
183
+ ----------
184
+ brightness : float
185
+ Brightness level from 0 to 1, converts to lavavu brightness in range [-1,1]
186
+ 0 is full black, 0.5 is normal and 1.0 is full white
187
+ contrast : float
188
+ Contrast level from 0 to 1, converts to lavavu contrast in range [0,2]
189
+ 0 is grey, 0.5 is normal and 1.0 is maximum contrast
190
+ saturation : float
191
+ Saturation level from 0 to 1, converts to lavavu saturation in range [0,2]
192
+ 0 is greyscale, 0.5 is normal and 1.0 is maximum over-saturation
193
+ """
194
+ #Brightness in shader is [-1,1] where 0 is default
195
+ target["brightness"] = brightness * 2.0 - 1.0
196
+ #Contrast and saturation range from [0,2] where 1 is default
197
+ target["contrast"] = contrast * 2.0
198
+ target["saturation"] = saturation * 2.0
199
+
169
200
  def grid2d(corners=((0.,1.), (1.,0.)), dims=[2,2]):
170
201
  """
171
202
  Generate a 2d grid of vertices
@@ -1102,7 +1133,7 @@ class Object(dict):
1102
1133
 
1103
1134
  self._loadScalar(data, LavaVuPython.lucLuminanceData, width, height, depth)
1104
1135
 
1105
- def texture(self, data=None, flip=True, filter=2, bgr=False):
1136
+ def texture(self, data=None, flip=True, filter=2, bgr=False, label=""):
1106
1137
  """
1107
1138
  Load or clear texture data for object
1108
1139
 
@@ -1116,6 +1147,10 @@ class Object(dict):
1116
1147
  either (height, width, channels) for RGB(A) image
1117
1148
  or (height, width) for single channel grayscale image
1118
1149
  Pass a string to load a texture from given filename
1150
+ label : string
1151
+ Optional label to load a custom texture by name of uniform used
1152
+ If provided, will attempt to find the texture by this label and replace its data
1153
+ If not provided, will use the default/primary texture for the object
1119
1154
  flip : boolean
1120
1155
  flip the texture vertically after loading
1121
1156
  (default is enabled as usually required for OpenGL but can be disabled)
@@ -1129,7 +1164,7 @@ class Object(dict):
1129
1164
  self.parent.app.clearTexture(self.ref)
1130
1165
  return
1131
1166
  if isinstance(data, str):
1132
- self.parent.app.setTexture(self.ref, data, flip, filter, bgr)
1167
+ self.parent.app.setTexture(self.ref, data, flip, filter, bgr, label)
1133
1168
  return
1134
1169
 
1135
1170
  data = _convert(data)
@@ -1145,9 +1180,9 @@ class Object(dict):
1145
1180
  if data.dtype == numpy.float32:
1146
1181
  data = _convert(data, numpy.uint8)
1147
1182
  if data.dtype == numpy.uint32:
1148
- self.parent.app.textureUInt(self.ref, data.ravel(), width, height, channels, flip, filter, bgr)
1183
+ self.parent.app.textureUInt(self.ref, data.ravel(), width, height, channels, flip, filter, bgr, label)
1149
1184
  elif data.dtype == numpy.uint8:
1150
- self.parent.app.textureUChar(self.ref, data.ravel(), width, height, channels, flip, filter, bgr)
1185
+ self.parent.app.textureUChar(self.ref, data.ravel(), width, height, channels, flip, filter, bgr, label)
1151
1186
 
1152
1187
  def labels(self, data):
1153
1188
  """
@@ -1593,6 +1628,10 @@ class Object(dict):
1593
1628
  """
1594
1629
  self.parent.export_mesh(filepath, [self], rgba)
1595
1630
 
1631
+ @is_documented_by(_brightness_contrast_saturation)
1632
+ def brightness_contrast_saturation(self, brightness=0, contrast=0, saturation=0):
1633
+ return _brightness_contrast_saturation(self)
1634
+
1596
1635
  #Wrapper dict+list of objects
1597
1636
  class _Objects(dict):
1598
1637
  """
@@ -1901,7 +1940,7 @@ class ColourMap(dict):
1901
1940
  Convert to greyscale
1902
1941
  """
1903
1942
  if data is not None:
1904
- if isinstance(data, str) and re.match('^[\w_]+$', data) is not None:
1943
+ if isinstance(data, str) and re.match(r'^[\w_]+$', data) is not None:
1905
1944
  #Single word of alphanumeric characters, if not a built-in map, try matplotlib
1906
1945
  if data not in self.parent.defaultcolourmaps():
1907
1946
  newdata = matplotlib_colourmap(data)
@@ -2280,29 +2319,29 @@ class _LavaVuWrapper(LavaVuPython.LavaVu):
2280
2319
  if _LavaVuWrapper._ctx:
2281
2320
  self.ctx = _LavaVuWrapper._ctx
2282
2321
  else:
2283
- self.ctx = moderngl.create_standalone_context(require=330)
2322
+ import platform
2323
+ if platform.system() == 'Linux':
2324
+ self.ctx = moderngl.create_context(standalone=True, require=330, backend='egl')
2325
+ else:
2326
+ self.ctx = moderngl.create_standalone_context(require=330)
2327
+ #print(self.ctx.info)
2284
2328
  _LavaVuWrapper._ctx = self.ctx
2285
2329
 
2286
2330
  if self.use_moderngl_window and self.ctx:
2287
2331
  # Activate the context
2288
2332
  moderngl_window.activate_context(ctx=self.ctx)
2289
- if self.use_moderngl_window == 'window':
2290
- # Configure with default window class / settings
2291
- from moderngl_window.conf import settings
2292
- settings.WINDOW['gl_version'] = (3, 3)
2293
- settings.WINDOW['samples'] = 4
2294
- if self.resolution:
2295
- settings.WINDOW['size'] = self.resolution
2296
- # Creates the window instance and activates its context
2297
- self.wnd = moderngl_window.create_window_from_settings()
2298
- else:
2299
- # Configure to use provided window class
2300
- window_str = 'moderngl_window.context.' + self.use_moderngl_window + '.Window'
2301
- window_cls = moderngl_window.get_window_cls(window_str)
2302
- if self.resolution:
2303
- self.wnd = window_cls(title="LavaVu", gl_version=(3, 3), samples=4, vsync=True, cursor=True, size=self.resolution)
2304
- else:
2305
- self.wnd = window_cls(title="LavaVu", gl_version=(3, 3), samples=4, vsync=True, cursor=True)
2333
+
2334
+ # Configure with default window class / settings
2335
+ from moderngl_window.conf import settings
2336
+ settings.WINDOW['gl_version'] = (3, 3)
2337
+ if self.use_moderngl_window != 'window':
2338
+ #Use specified class
2339
+ settings.WINDOW['class'] = f'moderngl_window.context.{self.use_moderngl_window}.Window'
2340
+ settings.WINDOW['samples'] = 4
2341
+ if self.resolution:
2342
+ settings.WINDOW['size'] = self.resolution
2343
+ # Creates the window instance and activates its context
2344
+ self.wnd = moderngl_window.create_window_from_settings()
2306
2345
 
2307
2346
  # register event methods
2308
2347
  self.wnd.resize_func = self.resized
@@ -3656,6 +3695,56 @@ class Viewer(dict):
3656
3695
  else:
3657
3696
  return c.tolist()
3658
3697
 
3698
+ def texture(self, label, data=None, flip=True, filter=2, bgr=False):
3699
+ """
3700
+ Load or clear global/shared texture data
3701
+
3702
+ Parameters
3703
+ ----------
3704
+ label : string
3705
+ Label to load a custom texture by name of uniform used
3706
+ Will attempt to find the texture by this label and replace its data
3707
+ data : list or array or string
3708
+ (If data is not provided, the object's texture data will be cleared)
3709
+ Pass a list or numpy uint32 or uint8 array
3710
+ texture data is loaded as raw image data
3711
+ shape of array must be 2d or 3d,
3712
+ either (height, width, channels) for RGB(A) image
3713
+ or (height, width) for single channel grayscale image
3714
+ Pass a string to load a texture from given filename
3715
+ flip : boolean
3716
+ flip the texture vertically after loading
3717
+ (default is enabled as usually required for OpenGL but can be disabled)
3718
+ filter : int
3719
+ type of filtering, 0=None/nearest, 1=linear, 2=mipmap linear
3720
+ bgr : boolean
3721
+ rgb data is in BGR/BGRA format instead of RGB/RGBA
3722
+ """
3723
+ if data is None:
3724
+ #Clear texture
3725
+ self.app.clearTexture(None, label)
3726
+ return
3727
+ if isinstance(data, str):
3728
+ self.app.setTexture(None, data, flip, filter, bgr, label)
3729
+ return
3730
+
3731
+ data = _convert(data)
3732
+ if len(data.shape) < 2:
3733
+ raise ValueError(data.shape + " : Must pass a 2D or 3D data set")
3734
+ if len(data.shape) < 3:
3735
+ height, width = data.shape
3736
+ channels = 1
3737
+ else:
3738
+ height, width, channels = data.shape
3739
+
3740
+ #Convert floating point data
3741
+ if data.dtype == numpy.float32:
3742
+ data = _convert(data, numpy.uint8)
3743
+ if data.dtype == numpy.uint32:
3744
+ self.app.textureUInt(None, data.ravel(), width, height, channels, flip, filter, bgr, label)
3745
+ elif data.dtype == numpy.uint8:
3746
+ self.app.textureUChar(None, data.ravel(), width, height, channels, flip, filter, bgr, label)
3747
+
3659
3748
  def clear(self, objects=True, colourmaps=True):
3660
3749
  """
3661
3750
  Clears all data from the visualisation
@@ -4652,6 +4741,59 @@ class Viewer(dict):
4652
4741
  self.render()
4653
4742
  convert.export_any(filepath, objects)
4654
4743
 
4744
+ @is_documented_by(_brightness_contrast_saturation)
4745
+ def brightness_contrast_saturation(self, brightness=0, contrast=0, saturation=0):
4746
+ return _brightness_contrast_saturation(self, brightness, contrast, saturation)
4747
+
4748
+ def set_properties(self, objects=None, **kwargs):
4749
+ """
4750
+ Set properties on viewer or on a set of objects by name
4751
+
4752
+ Parameters
4753
+ ----------
4754
+ objects : list
4755
+ List of objects or object names, if not provided the properties will be applied globally to the Viewer itself
4756
+ **kwargs :
4757
+ key=value property names and values to set
4758
+ """
4759
+ if objects is None:
4760
+ for key in kwargs:
4761
+ self[key] = kwargs[key]
4762
+ else:
4763
+ for o in objects:
4764
+ if isinstance(o, str):
4765
+ obj = self.objects[o]
4766
+ else:
4767
+ obj = o
4768
+ for key in kwargs:
4769
+ obj[key] = kwargs[key]
4770
+
4771
+ def set_uniforms(self, objects=None, **kwargs):
4772
+ """
4773
+ Set uniform variables on a set of objects by name or all objects
4774
+ Uniforms are parameters sent directly to the shader program and can have any
4775
+ valid GLSL variable name, it just needs to match the declaration in the shader
4776
+
4777
+ Parameters
4778
+ ----------
4779
+ objects : list
4780
+ List of objects or object names, if not provided the full object list will be iterated
4781
+ **kwargs :
4782
+ key=value uniform names and values to set
4783
+ """
4784
+ if objects == None: objects = self.objects.list
4785
+ if not isinstance(objects, list):
4786
+ objects = [objects]
4787
+ for o in objects:
4788
+ if isinstance(o, str):
4789
+ obj = self.objects[o]
4790
+ else:
4791
+ obj = o
4792
+ uniforms = obj['uniforms']
4793
+ for key in kwargs:
4794
+ uniforms[key] = kwargs[key]
4795
+ obj['uniforms'] = uniforms
4796
+
4655
4797
  #Wrapper for list of geomdata objects
4656
4798
  class Geometry(list):
4657
4799
  """
@@ -5278,7 +5420,7 @@ class Video(object):
5278
5420
  def __exit__(self, exc_type, exc_value, exc_traceback):
5279
5421
  self.stop()
5280
5422
  if exc_value == None:
5281
- print('Recording complete, filename: ', self.filename)
5423
+ #print('Recording complete, filename: ', self.filename)
5282
5424
  self.play()
5283
5425
  else:
5284
5426
  print('Recording failed: ', exc_value)
lavavu/vutils.py CHANGED
@@ -81,15 +81,10 @@ def download(url, filename=None, overwrite=False, quiet=False):
81
81
  filename : str
82
82
  Actual filename written to local filesystem
83
83
  """
84
- #Python 3 moved modules
85
- try:
86
- from urllib.request import urlopen, URLError, HTTPError, Request
87
- from urllib.parse import urlparse
88
- from urllib.parse import quote
89
- except ImportError:
90
- from urllib2 import urlopen, URLError, HTTPError, Request
91
- from urllib import quote
92
- from urlparse import urlparse
84
+ from urllib.request import urlopen, URLError, HTTPError, Request
85
+ from urllib.parse import urlparse
86
+ from urllib.parse import quote
87
+ import http.client
93
88
 
94
89
  if filename is None:
95
90
  filename = url[url.rfind("/")+1:]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lavavu
3
- Version: 1.8.75
3
+ Version: 1.8.79
4
4
  Summary: Python interface to LavaVu OpenGL 3D scientific visualisation utilities
5
5
  Author-email: Owen Kaluza <owen@kaluza.id.au>
6
6
  License: ### Licensing
@@ -212,7 +212,7 @@ Classifier: Framework :: IPython
212
212
  Requires-Python: >=3.5
213
213
  Description-Content-Type: text/markdown
214
214
  License-File: LICENSE.md
215
- Requires-Dist: numpy >=1.18
215
+ Requires-Dist: numpy>=1.18
216
216
  Requires-Dist: aiohttp
217
217
  Requires-Dist: jupyter-server-proxy
218
218
 
@@ -221,7 +221,7 @@ Requires-Dist: jupyter-server-proxy
221
221
  [![Build Status](https://github.com/lavavu/LavaVu/workflows/Test/badge.svg)](https://github.com/lavavu/LavaVu/actions?query=workflow:Test)
222
222
  [![Deploy Status](https://github.com/lavavu/LavaVu/workflows/Deploy/badge.svg?branch=1.7.3)](https://github.com/lavavu/LavaVu/actions?query=workflow:Deploy)
223
223
  [![DOI](https://zenodo.org/badge/45163055.svg)](https://zenodo.org/badge/latestdoi/45163055)
224
- [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/lavavu/LavaVu/1.8.75)
224
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/lavavu/LavaVu/1.8.79)
225
225
 
226
226
  A scientific visualisation tool with a python interface for fast and flexible visual analysis.
227
227
 
@@ -1,63 +1,63 @@
1
- lavavu-1.8.75.dist-info/LICENSE.md,sha256=EhfNgC6BYh5gDEaq4tcrN3S0wbO4CtJO46botJnCF8c,8603
2
- lavavu-1.8.75.dist-info/entry_points.txt,sha256=LC2qXR6EMe45Cb7zGAF99R9HFrAECP6Qkp_YuG6HZB0,44
3
- lavavu-1.8.75.dist-info/WHEEL,sha256=TMfKI-VuqsHvDg3QYsWe7XTSZbP-bT_9Ndqm7RCLnlw,111
4
- lavavu-1.8.75.dist-info/top_level.txt,sha256=JptS0k1nlBumjLs_0hITr3_XUJhxqvKBXD2jGho3E3A,7
5
- lavavu-1.8.75.dist-info/RECORD,,
6
- lavavu-1.8.75.dist-info/METADATA,sha256=vbAX7HwcXmqSTfS-IoCW0sXO_FadSG5zig8-kmH-Kfk,18238
7
- lavavu.libs/libavcodec-9b24a347.so.61.10.100,sha256=OuNIeLm5LjB1v3frPdJYB0POTxL6OA6n4f5ZKKnb4Ww,14669737
8
- lavavu.libs/libtiff-b477d465.so.5.3.0,sha256=r1onUuuM8PAMq6GY0yo-l0Vc5Wz9J8ILr-sOS7XIMhg,517801
9
- lavavu.libs/libavformat-c42ae6a5.so.61.5.101,sha256=0ij7xfMRC8MIHEMk7U1za3IrlZh-cKPu5J4XELyErqE,2686361
1
+ lavavu.libs/libavutil-c492c008.so.59.41.100,sha256=rNSXK81gDrNyvqnlidHIpxlW3v1OIw4c4DDhsr0MiEQ,1009281
10
2
  lavavu.libs/libjbig-2504a0c3.so.2.1,sha256=VejIx8sDX3xfCuJkrk9HEyWBYjZbUiTyIRuoPqT-ibE,54265
11
- lavavu.libs/libbz2-e34b29ae.so.1.0.6,sha256=t0Rx5MGhoqFd8hOzCgew5TwGvZFpy_XTk-dae2FXAEs,79145
12
- lavavu.libs/libavutil-fe3e056a.so.59.28.100,sha256=8X1JfMTflCGgJXcDUKL_WN4cyi22q1Z0FYYc-8ueZgc,1001001
13
- lavavu.libs/libswscale-d65e5891.so.8.2.100,sha256=C-MsUd8yJuEVR5as_wjQUS49Qjs2w1LsTO5x1_jKD5o,619921
14
- lavavu.libs/libx264-3daadd71.so.164,sha256=1AiHi-PoYrS70fP_NvC9HYuEKWhqPr5wVP81HJCB32E,2431745
3
+ lavavu.libs/libx264-f6f11719.so.164,sha256=gRSM4VOh2sahsRw-7ElQdJ0NkkJYl1o8pu1C98m2ubs,2431745
15
4
  lavavu.libs/libjpeg-da649728.so.62.2.0,sha256=IoO1YzjSjixVQSs5SiWK95E-RREenSFc2B97tb-x_5E,437961
16
- lavavu.libs/libswresample-1fd124bd.so.5.2.100,sha256=sVpZLMPa83wGUyFFiB7RoWljLZZrks-4T0rVFyAS9Ag,128265
17
- lavavu/lavavu.py,sha256=wTa9yyjDRdqdsmJbIEkj0vyrd0_ZElFbPg6_sjn8vd0,201960
18
- lavavu/LavaVuPython.py,sha256=Ki8G9XYHkyfqmxG6BohDWomvSn5eJwG9cHqGzEhZDDs,33131
19
- lavavu/font.bin,sha256=fvi5zkvmq6gh9v3jXedBVuxNJWKmHtbjECzv6eT9wb4,225360
20
- lavavu/__init__.py,sha256=JroZQiUbuVN7ifixk2zNDGlyLGaM8bqfRbw4D_F9qIQ,191
21
- lavavu/_LavaVuPython.cpython-39-x86_64-linux-gnu.so,sha256=bdfWDoEbzXE98GbrQYt2Vz-XvyMCidrFS2LYOtjntpQ,75776697
22
- lavavu/vutils.py,sha256=L5TpyGlRHThhGChzaKhB70NQd75o3ctyKhSqZTsxceg,5624
5
+ lavavu.libs/libavformat-bc58d938.so.61.9.100,sha256=_jLk52JfJky4yX9FTuyUhkhZlRZSTUZ1IamY8LAR85g,2690473
6
+ lavavu.libs/libtiff-97fb0e7a.so.5.3.0,sha256=ReUrhN0yHYGg-Fws0_oHS7soNRaqYFAMCqpS5FXXbMU,517801
7
+ lavavu.libs/libswresample-33f2d514.so.5.4.100,sha256=hn9aLCevWzi9eoDxHpiY5zl5t0O-GoLHxsr09t-sG34,128265
8
+ lavavu.libs/libbz2-e34b29ae.so.1.0.6,sha256=t0Rx5MGhoqFd8hOzCgew5TwGvZFpy_XTk-dae2FXAEs,79145
9
+ lavavu.libs/libavcodec-bf5b2486.so.61.21.100,sha256=gSVc1ibCyQ6say6EUqmvXDycPpGcw9eMEszvc-SIJPM,14755777
10
+ lavavu.libs/libswscale-f9d6e3ac.so.8.4.100,sha256=Zk_9wt5XFtIVpIJgFSROFt8I_1rk1j-cXZ6VFbua9AQ,619921
11
+ lavavu/convert.py,sha256=tbYRjLE2l1hI4d6tsW41Lia1JXmrWSc0-JAYCiMrjys,35516
23
12
  lavavu/tracers.py,sha256=0dB6v9Jg5G-IeZxiVFvbPoTycGvyAQBtgyEAZUmq4XU,4257
13
+ lavavu/points.py,sha256=jRRtA6CrcA46Y2jUJmkxnIiVoMC5a14xEd_ojhmjhz4,5871
24
14
  lavavu/control.py,sha256=eNocZPc-2Dz-nSty_KRz_9RzLvbU0clJGuAV3qnzxbU,65841
25
- lavavu/server.py,sha256=L-_yPCbNfwYxJCPjDQtr_lxPnDp4oMNVFyxXhBERYrQ,12468
15
+ lavavu/font.bin,sha256=fvi5zkvmq6gh9v3jXedBVuxNJWKmHtbjECzv6eT9wb4,225360
16
+ lavavu/aserver.py,sha256=SfFvLeDTcx1XtS8fY_HIrDmh3q9HicCBRSAriY5yyOE,12003
26
17
  lavavu/__main__.py,sha256=EbDetijCjyoiNxmExqnDGoRVs996tSVave5DML9zuMY,235
27
- lavavu/dict.json,sha256=Zb1QnJOsx2DK3M1tRSXRUQ5PjEpOo3SMM3tTNHIKMPs,52722
28
- lavavu/convert.py,sha256=JT73q32YMchuSIkoH_A0cTUVwfns8fWLGjyWp2A5i5M,35514
18
+ lavavu/vutils.py,sha256=6Vm_xl1bp9mWlfk7jgLDwbRw-tdE_oxin77YkLel3_4,5437
19
+ lavavu/LavaVuPython.py,sha256=ZdBJROEPysd_N_Od88PEO8Y1fjCOd05_vP6YBnJymN0,33131
29
20
  lavavu/amalgamate.py,sha256=Xloq1IZ4VUvYiROzQtwKcQIWC65c7EZrdiGVhZdolL8,586
30
- lavavu/aserver.py,sha256=SfFvLeDTcx1XtS8fY_HIrDmh3q9HicCBRSAriY5yyOE,12003
31
- lavavu/points.py,sha256=jRRtA6CrcA46Y2jUJmkxnIiVoMC5a14xEd_ojhmjhz4,5871
32
- lavavu/shaders/triShader.vert,sha256=pJXftq7IiqiGe7NTMmuBUMDs4OZc9TD8lNJ4q-8B57Q,1120
33
- lavavu/shaders/pointShader.vert,sha256=rnEa8PfIK3kFtFg04Ataf10aWsjEkh1URY2ipV1xTMY,1235
34
- lavavu/shaders/default.frag,sha256=xCkYz8QriRlnAr-NtenZSIWI_liSxv9jz3Lp5immK9k,258
35
- lavavu/shaders/pointShader.frag,sha256=T1PA9Z6FiE66rS2sAmmFIbYM2VqEkLBycxV-sx3nACY,3384
36
- lavavu/shaders/fontShader.vert,sha256=yCBmRugaPUeUQUdIh62-AK_5KELiJqVS2M82iyIqPwo,290
37
- lavavu/shaders/lineShader.vert,sha256=6kJQcfu3eqaj910_KdaklVRvYxNbeu0ZbpDEOxRVde0,522
38
- lavavu/shaders/lineShader.frag,sha256=aCmOWC20fHinR32p6LZPdCZP6abn-K1V2slbJ_5NoVA,945
39
- lavavu/shaders/fontShader.frag,sha256=DXAzO7kS36TBzYMJW0XqFiQQTTc4jFedGiUkLjelYKs,444
40
- lavavu/shaders/triShader.frag,sha256=pG6eWiVgtHB8cSHyB8W3SHrc7-mLqaCRlZaHZfsEKhc,5007
41
- lavavu/shaders/default.vert,sha256=9J5Oqg8ns711fSNeQTtdA7ENb2sfonx0KGh1QfHp5Ws,317
42
- lavavu/shaders/volumeShader.vert,sha256=uGdQjGqi7V5kE6V7nxymfugtU4cbf6u570xBy13RgmY,78
43
- lavavu/shaders/volumeShader.frag,sha256=CIFSfwI8xVZ0ALme2QPMcXWl5yB55WCGnfJZ1Led6TU,16120
44
- lavavu/html/baseviewer.js,sha256=u3UhC1At6rMBKmcQ7d2DXTRxQ20wsQkc4lqA-7sL7i4,9567
45
- lavavu/html/draw.js,sha256=57LlHlYRh0IvWVwzGDnF6PaCxYLzokpokLNCuZlG1ds,84108
46
- lavavu/html/gl-matrix-min.js,sha256=qfhP_dWP2bTSL1ibMX2IYw7KDXBW2IhgpfhvU9kKjhM,23143
47
- lavavu/html/webview-template.html,sha256=Mh9sOd6YEOiwJa_fPwyY4s9AdCuvsaHKLwVipVk_4Go,1530
48
- lavavu/html/emscripten-template.js,sha256=h63mzl3Lv7aQT1wMOiOucPOvHTJjpKkzsL-SFVYaZlA,6135
21
+ lavavu/lavavu.py,sha256=SWErzmykoOphtNAHpMOSzsXaKzvk8XFy-zTXBrPgasE,207530
22
+ lavavu/_LavaVuPython.cpython-39-x86_64-linux-gnu.so,sha256=9ny4TcyUN2cMLGNRfYrEZdxaRqArApXHrUDoG-esTsM,76703345
23
+ lavavu/dict.json,sha256=Zb1QnJOsx2DK3M1tRSXRUQ5PjEpOo3SMM3tTNHIKMPs,52722
24
+ lavavu/__init__.py,sha256=JroZQiUbuVN7ifixk2zNDGlyLGaM8bqfRbw4D_F9qIQ,191
25
+ lavavu/server.py,sha256=L-_yPCbNfwYxJCPjDQtr_lxPnDp4oMNVFyxXhBERYrQ,12468
49
26
  lavavu/html/styles.css,sha256=68pH0fWIc0mP1puFbsIg0ET9G1ujd40Aiqfx4phuzjs,2983
50
27
  lavavu/html/control.js,sha256=Gi3eszKip1JsrM1HrMvSJWjqFZql6DPXdMUkU6Zuj7Q,11466
51
- lavavu/html/stats.min.js,sha256=iiwrLW4SUBhrzWrfW2VZP_9mowHX-Ks1EKORFv4EHdE,1965
52
- lavavu/html/emscripten.css,sha256=wkaIJhXaxuMchinQX9Z8c12cJomyvFQMeIZ62WGQEPQ,1813
28
+ lavavu/html/gl-matrix-min.js,sha256=qfhP_dWP2bTSL1ibMX2IYw7KDXBW2IhgpfhvU9kKjhM,23143
53
29
  lavavu/html/OK-min.js,sha256=-4Gc1-dWfxP_w6r9ZOHa8u-X2BlGUoSQbX68lwCxQ3E,39115
54
- lavavu/html/drawbox.js,sha256=SJxFSmWd7QVFI5__66hFkKzLKeqg1JPcx-gJuqdMkXw,34590
55
- lavavu/html/favicon.ico,sha256=OrIWwvxOSnOCuynrGRUyEIVQng0ZwA9Rrz89S9eiog0,1150
30
+ lavavu/html/emscripten-template.js,sha256=h63mzl3Lv7aQT1wMOiOucPOvHTJjpKkzsL-SFVYaZlA,6135
56
31
  lavavu/html/server.js,sha256=b5eNlWWbiEk90n3WARJ1Mh7lmfHM0pOtZfrrmM-wfyc,7099
57
- lavavu/html/dat-gui-light-theme.css,sha256=uPhvJs-1IAsdxudItyOw8lZy8Hrih0zmFM1u-xRwZ-M,1142
58
- lavavu/html/webview.html,sha256=T3AQXMNZwPWpWfdrBe6hjUyZh98_ds15SBjZc1Y-KwY,1522
59
32
  lavavu/html/dat.gui.min.js,sha256=S4_QjoXe4IOpU0f0Sj5jEQLTWPoX9uRl1ohB91jyhuw,56992
60
33
  lavavu/html/control.css,sha256=PVLwmle00ciEckUV5ZIRmI3Whxhl7-mlVexnyyxoU70,3259
61
- lavavu/html/LavaVu-amalgamated.css,sha256=iE2xrxFcwmY0AcASrXxNa_RpvFEbS_YO4H5OILbPteE,8640
62
- lavavu/html/gui.css,sha256=PRDLsYwM6cgLC9zZsEAG0dnnSd-HYH6oSEfsdEBkuxk,582
63
34
  lavavu/html/menu.js,sha256=WCli3UYcQ7frjNq0aAXNALu33iNiN8lpTYwKZ7pUcn4,21501
35
+ lavavu/html/emscripten.css,sha256=wkaIJhXaxuMchinQX9Z8c12cJomyvFQMeIZ62WGQEPQ,1813
36
+ lavavu/html/webview-template.html,sha256=Mh9sOd6YEOiwJa_fPwyY4s9AdCuvsaHKLwVipVk_4Go,1530
37
+ lavavu/html/drawbox.js,sha256=SJxFSmWd7QVFI5__66hFkKzLKeqg1JPcx-gJuqdMkXw,34590
38
+ lavavu/html/dat-gui-light-theme.css,sha256=uPhvJs-1IAsdxudItyOw8lZy8Hrih0zmFM1u-xRwZ-M,1142
39
+ lavavu/html/favicon.ico,sha256=OrIWwvxOSnOCuynrGRUyEIVQng0ZwA9Rrz89S9eiog0,1150
40
+ lavavu/html/gui.css,sha256=PRDLsYwM6cgLC9zZsEAG0dnnSd-HYH6oSEfsdEBkuxk,582
41
+ lavavu/html/draw.js,sha256=57LlHlYRh0IvWVwzGDnF6PaCxYLzokpokLNCuZlG1ds,84108
42
+ lavavu/html/LavaVu-amalgamated.css,sha256=iE2xrxFcwmY0AcASrXxNa_RpvFEbS_YO4H5OILbPteE,8640
43
+ lavavu/html/stats.min.js,sha256=iiwrLW4SUBhrzWrfW2VZP_9mowHX-Ks1EKORFv4EHdE,1965
44
+ lavavu/html/webview.html,sha256=uCehUHFy6evVkeTZsjKa91jNU_iG2GWJVsy6LlXqCs4,1522
45
+ lavavu/html/baseviewer.js,sha256=u3UhC1At6rMBKmcQ7d2DXTRxQ20wsQkc4lqA-7sL7i4,9567
46
+ lavavu/shaders/volumeShader.frag,sha256=CIFSfwI8xVZ0ALme2QPMcXWl5yB55WCGnfJZ1Led6TU,16120
47
+ lavavu/shaders/lineShader.vert,sha256=6kJQcfu3eqaj910_KdaklVRvYxNbeu0ZbpDEOxRVde0,522
48
+ lavavu/shaders/fontShader.vert,sha256=yCBmRugaPUeUQUdIh62-AK_5KELiJqVS2M82iyIqPwo,290
49
+ lavavu/shaders/default.frag,sha256=xCkYz8QriRlnAr-NtenZSIWI_liSxv9jz3Lp5immK9k,258
50
+ lavavu/shaders/pointShader.frag,sha256=T1PA9Z6FiE66rS2sAmmFIbYM2VqEkLBycxV-sx3nACY,3384
51
+ lavavu/shaders/fontShader.frag,sha256=DXAzO7kS36TBzYMJW0XqFiQQTTc4jFedGiUkLjelYKs,444
52
+ lavavu/shaders/pointShader.vert,sha256=rnEa8PfIK3kFtFg04Ataf10aWsjEkh1URY2ipV1xTMY,1235
53
+ lavavu/shaders/triShader.vert,sha256=pJXftq7IiqiGe7NTMmuBUMDs4OZc9TD8lNJ4q-8B57Q,1120
54
+ lavavu/shaders/triShader.frag,sha256=pG6eWiVgtHB8cSHyB8W3SHrc7-mLqaCRlZaHZfsEKhc,5007
55
+ lavavu/shaders/default.vert,sha256=9J5Oqg8ns711fSNeQTtdA7ENb2sfonx0KGh1QfHp5Ws,317
56
+ lavavu/shaders/volumeShader.vert,sha256=uGdQjGqi7V5kE6V7nxymfugtU4cbf6u570xBy13RgmY,78
57
+ lavavu/shaders/lineShader.frag,sha256=aCmOWC20fHinR32p6LZPdCZP6abn-K1V2slbJ_5NoVA,945
58
+ lavavu-1.8.79.dist-info/LICENSE.md,sha256=EhfNgC6BYh5gDEaq4tcrN3S0wbO4CtJO46botJnCF8c,8603
59
+ lavavu-1.8.79.dist-info/METADATA,sha256=5RYScqdvJuFC5t4AsXxqVAOZt4yJW3uIGTVwqvbu6qQ,18237
60
+ lavavu-1.8.79.dist-info/entry_points.txt,sha256=LC2qXR6EMe45Cb7zGAF99R9HFrAECP6Qkp_YuG6HZB0,44
61
+ lavavu-1.8.79.dist-info/RECORD,,
62
+ lavavu-1.8.79.dist-info/WHEEL,sha256=1KGCYChb8MGEHN1kAM2V87Cd4ks97eAvJbgYQFfvjkY,111
63
+ lavavu-1.8.79.dist-info/top_level.txt,sha256=JptS0k1nlBumjLs_0hITr3_XUJhxqvKBXD2jGho3E3A,7
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.3.0)
2
+ Generator: setuptools (75.1.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp39-cp39-manylinux_2_28_x86_64
5
5
 
index 103160b..b6a8755 100755
Binary file
index 6b145d8..0d4cb9b 100755
Binary file
index 2c15379..7ee70b5 100755
Binary file
index dae35eb..07ee839 100755
Binary file
index 7e28ab8..3d47415 100755
Binary file
index 5ab16c1..4564390 100755
Binary file