lavavu 1.8.84__cp311-cp311-macosx_11_0_arm64.whl → 1.9.0__cp311-cp311-macosx_11_0_arm64.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.cpython-311-darwin.so +0 -0
- lavavu/html/webview.html +1 -1
- lavavu/lavavu.py +322 -67
- lavavu/osmesa/LavaVuPython.py +561 -0
- lavavu/osmesa/__init__.py +0 -0
- lavavu/shaders/default.frag +0 -6
- lavavu/shaders/default.vert +4 -4
- lavavu/shaders/fontShader.frag +0 -5
- lavavu/shaders/lineShader.frag +0 -4
- lavavu/shaders/lineShader.vert +0 -2
- lavavu/shaders/pointShader.frag +0 -5
- lavavu/shaders/pointShader.vert +0 -4
- lavavu/shaders/triShader.frag +0 -17
- lavavu/shaders/triShader.vert +0 -4
- lavavu/shaders/volumeShader.frag +0 -63
- {lavavu-1.8.84.dist-info → lavavu-1.9.0.dist-info}/METADATA +5 -4
- {lavavu-1.8.84.dist-info → lavavu-1.9.0.dist-info}/RECORD +21 -19
- {lavavu-1.8.84.dist-info → lavavu-1.9.0.dist-info}/WHEEL +1 -1
- {lavavu-1.8.84.dist-info → lavavu-1.9.0.dist-info}/LICENSE.md +0 -0
- {lavavu-1.8.84.dist-info → lavavu-1.9.0.dist-info}/entry_points.txt +0 -0
- {lavavu-1.8.84.dist-info → lavavu-1.9.0.dist-info}/top_level.txt +0 -0
lavavu/shaders/triShader.frag
CHANGED
@@ -22,25 +22,10 @@ uniform vec3 uClipMax;
|
|
22
22
|
uniform bool uOpaque;
|
23
23
|
uniform vec4 uLight;
|
24
24
|
|
25
|
-
#ifdef WEBGL
|
26
|
-
#define outColour gl_FragColor
|
27
|
-
#define texture(a,b) texture2D(a,b)
|
28
|
-
|
29
|
-
//Before OpenGL 3+ we need our own isnan function
|
30
|
-
bool isnan3(vec3 val)
|
31
|
-
{
|
32
|
-
if (!(val.x < 0.0 || 0.0 < val.x || val.x == 0.0)) return true;
|
33
|
-
if (!(val.y < 0.0 || 0.0 < val.y || val.y == 0.0)) return true;
|
34
|
-
if (!(val.z < 0.0 || 0.0 < val.z || val.z == 0.0)) return true;
|
35
|
-
return false;
|
36
|
-
}
|
37
|
-
|
38
|
-
#else
|
39
25
|
#define isnan3(v) any(isnan(v))
|
40
26
|
flat in vec4 vFlatColour;
|
41
27
|
uniform bool uFlat;
|
42
28
|
out vec4 outColour;
|
43
|
-
#endif
|
44
29
|
|
45
30
|
uniform bool uCalcNormal;
|
46
31
|
|
@@ -69,10 +54,8 @@ void main(void)
|
|
69
54
|
if (any(lessThan(vVertex, uClipMin)) || any(greaterThan(vVertex, uClipMax))) discard;
|
70
55
|
|
71
56
|
vec4 fColour = vColour;
|
72
|
-
#ifndef WEBGL
|
73
57
|
if (uFlat)
|
74
58
|
fColour = vFlatColour;
|
75
|
-
#endif
|
76
59
|
float alpha = fColour.a;
|
77
60
|
if (uTextured && vTexCoord.x > -1.0) //Null texcoord (-1,-1)
|
78
61
|
{
|
lavavu/shaders/triShader.vert
CHANGED
@@ -2,9 +2,7 @@ in vec3 aVertexPosition;
|
|
2
2
|
in vec3 aVertexNormal;
|
3
3
|
in vec4 aVertexColour;
|
4
4
|
in vec2 aVertexTexCoord;
|
5
|
-
#ifndef WEBGL
|
6
5
|
flat out vec4 vFlatColour;
|
7
|
-
#endif
|
8
6
|
|
9
7
|
uniform mat4 uMVMatrix;
|
10
8
|
uniform mat4 uPMatrix;
|
@@ -34,9 +32,7 @@ void main(void)
|
|
34
32
|
vColour = aVertexColour;
|
35
33
|
|
36
34
|
vTexCoord = aVertexTexCoord;
|
37
|
-
#ifndef WEBGL
|
38
35
|
vFlatColour = vColour;
|
39
|
-
#endif
|
40
36
|
vVertex = aVertexPosition;
|
41
37
|
|
42
38
|
//Head light, lightPos=(0,0,0) - vPosEye
|
lavavu/shaders/volumeShader.frag
CHANGED
@@ -6,17 +6,10 @@
|
|
6
6
|
* https://www.gnu.org/licenses/lgpl.html
|
7
7
|
* (volume shader from sharevol https://github.com/OKaluza/sharevol)
|
8
8
|
*/
|
9
|
-
#ifdef WEBGL
|
10
|
-
uniform sampler2D uVolume;
|
11
|
-
#define NO_DEPTH_WRITE
|
12
|
-
#define outColour gl_FragColor
|
13
|
-
#define texture(a,b) texture2D(a,b)
|
14
|
-
#else
|
15
9
|
//Included dynamically before compile in WebGL mode...
|
16
10
|
const int maxSamples = 2048;
|
17
11
|
uniform sampler3D uVolume;
|
18
12
|
out vec4 outColour;
|
19
|
-
#endif
|
20
13
|
|
21
14
|
const float depthT = 0.99; //Transmissivity threshold below which depth write applied
|
22
15
|
|
@@ -63,63 +56,7 @@ vec3 bbMax;
|
|
63
56
|
float interpolate_tricubic_fast(vec3 coord);
|
64
57
|
#endif
|
65
58
|
|
66
|
-
#ifdef WEBGL
|
67
|
-
|
68
|
-
vec2 islices = vec2(1.0 / slices.x, 1.0 / slices.y);
|
69
|
-
float maxslice = slices.x * slices.y - 1.0;
|
70
|
-
//Clamp to a bit before halfway for the edge voxels
|
71
|
-
vec2 cmin = vec2(0.55/(slices.x*slices.y), 0.55/(slices.x*slices.y));
|
72
|
-
vec2 cmax = vec2(1.0, 1.0) - cmin;
|
73
|
-
|
74
|
-
float sample(vec3 pos)
|
75
|
-
{
|
76
|
-
//Get z slice index and position between two slices
|
77
|
-
float Z = pos.z * maxslice;
|
78
|
-
float slice = floor(Z); //Index of first slice
|
79
|
-
Z = fract(Z);
|
80
|
-
//Edge case at z min (possible with tricubic filtering)
|
81
|
-
if (int(slice) < 0)
|
82
|
-
{
|
83
|
-
slice = 0.0;
|
84
|
-
Z = 0.0;
|
85
|
-
}
|
86
|
-
//Edge case at z max
|
87
|
-
else if (int(slice) > int(maxslice)-1)
|
88
|
-
{
|
89
|
-
slice = maxslice-1.0;
|
90
|
-
Z = 1.0;
|
91
|
-
}
|
92
|
-
//Only start interpolation with next Z slice 1/3 from edges at first & last z slice
|
93
|
-
//(this approximates how 3d texture volume is sampled at edges with linear filtering
|
94
|
-
// due to edge sample being included in weighted average twice)
|
95
|
-
// - min z slice
|
96
|
-
else if (int(slice) == 0)
|
97
|
-
{
|
98
|
-
Z = max(0.0, (Z-0.33) * 1.5);
|
99
|
-
}
|
100
|
-
// - max z slice
|
101
|
-
else if (int(slice) == int(maxslice)-1)
|
102
|
-
{
|
103
|
-
Z = min(1.0, Z*1.5);
|
104
|
-
}
|
105
|
-
|
106
|
-
//X & Y coords of sample scaled to slice size
|
107
|
-
//(Clamp range at borders to prevent bleeding between tiles due to linear filtering)
|
108
|
-
vec2 sampleOffset = clamp(pos.xy, cmin, cmax) * islices;
|
109
|
-
//Offsets in 2D texture of given slice indices
|
110
|
-
//(add offsets to scaled position within slice to get sample positions)
|
111
|
-
float A = slice * islices.x;
|
112
|
-
float B = (slice+1.0) * islices.x;
|
113
|
-
vec2 z1offset = vec2(fract(A), floor(A) / slices.y) + sampleOffset;
|
114
|
-
vec2 z2offset = vec2(fract(B), floor(B) / slices.y) + sampleOffset;
|
115
|
-
|
116
|
-
//Interpolate the final value by position between slices [0,1]
|
117
|
-
return mix(texture2D(uVolume, z1offset).x, texture2D(uVolume, z2offset).x, Z);
|
118
|
-
}
|
119
|
-
|
120
|
-
#else
|
121
59
|
#define sample(pos) (texture(uVolume, pos).x)
|
122
|
-
#endif
|
123
60
|
|
124
61
|
float tex3D(vec3 pos)
|
125
62
|
{
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: lavavu
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.9.0
|
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
|
@@ -214,14 +214,15 @@ Description-Content-Type: text/markdown
|
|
214
214
|
License-File: LICENSE.md
|
215
215
|
Requires-Dist: numpy>=1.18
|
216
216
|
Requires-Dist: aiohttp
|
217
|
-
Requires-Dist:
|
217
|
+
Requires-Dist: jupyter_server_proxy
|
218
|
+
Requires-Dist: numpy-quaternion
|
218
219
|
|
219
220
|

|
220
221
|
|
221
222
|
[](https://github.com/lavavu/LavaVu/actions?query=workflow:Test)
|
222
223
|
[](https://github.com/lavavu/LavaVu/actions?query=workflow:Deploy)
|
223
224
|
[](https://zenodo.org/badge/latestdoi/45163055)
|
224
|
-
[](https://mybinder.org/v2/gh/lavavu/LavaVu/1.
|
225
|
+
[](https://mybinder.org/v2/gh/lavavu/LavaVu/1.9.0)
|
225
226
|
|
226
227
|
A scientific visualisation tool with a python interface for fast and flexible visual analysis.
|
227
228
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
lavavu/lavavu.py,sha256=
|
1
|
+
lavavu/lavavu.py,sha256=5JdzlRaEjuWAPjBQrgIKEyIS2RRL2RIrQ2aWaHFkg2A,217172
|
2
2
|
lavavu/vutils.py,sha256=6Vm_xl1bp9mWlfk7jgLDwbRw-tdE_oxin77YkLel3_4,5437
|
3
3
|
lavavu/dict.json,sha256=lsZEHc7Bb6_lt7tkSBQMgkq7AEn_2hnhWzzdokmvIY8,52729
|
4
4
|
lavavu/server.py,sha256=L-_yPCbNfwYxJCPjDQtr_lxPnDp4oMNVFyxXhBERYrQ,12468
|
@@ -12,7 +12,7 @@ lavavu/amalgamate.py,sha256=Xloq1IZ4VUvYiROzQtwKcQIWC65c7EZrdiGVhZdolL8,586
|
|
12
12
|
lavavu/aserver.py,sha256=SfFvLeDTcx1XtS8fY_HIrDmh3q9HicCBRSAriY5yyOE,12003
|
13
13
|
lavavu/font.bin,sha256=fvi5zkvmq6gh9v3jXedBVuxNJWKmHtbjECzv6eT9wb4,225360
|
14
14
|
lavavu/__main__.py,sha256=EbDetijCjyoiNxmExqnDGoRVs996tSVave5DML9zuMY,235
|
15
|
-
lavavu/_LavaVuPython.cpython-311-darwin.so,sha256=
|
15
|
+
lavavu/_LavaVuPython.cpython-311-darwin.so,sha256=xYjN7ELLgT87N1_ubcq3JujvVXjuPP318YJj5Z59uRc,3927360
|
16
16
|
lavavu/html/control.css,sha256=PVLwmle00ciEckUV5ZIRmI3Whxhl7-mlVexnyyxoU70,3259
|
17
17
|
lavavu/html/control.js,sha256=oV24eJZ0vfuCxF3fO60eeJSkNFJ9hUkSCThHGJS1Wvc,11652
|
18
18
|
lavavu/html/gui.css,sha256=PRDLsYwM6cgLC9zZsEAG0dnnSd-HYH6oSEfsdEBkuxk,582
|
@@ -27,27 +27,29 @@ lavavu/html/dat.gui.min.js,sha256=S4_QjoXe4IOpU0f0Sj5jEQLTWPoX9uRl1ohB91jyhuw,56
|
|
27
27
|
lavavu/html/OK-min.js,sha256=-4Gc1-dWfxP_w6r9ZOHa8u-X2BlGUoSQbX68lwCxQ3E,39115
|
28
28
|
lavavu/html/emscripten.css,sha256=wkaIJhXaxuMchinQX9Z8c12cJomyvFQMeIZ62WGQEPQ,1813
|
29
29
|
lavavu/html/drawbox.js,sha256=SJxFSmWd7QVFI5__66hFkKzLKeqg1JPcx-gJuqdMkXw,34590
|
30
|
-
lavavu/html/webview.html,sha256=
|
30
|
+
lavavu/html/webview.html,sha256=aFUGmVs3dT3R9X9IgA5WN8ND6tWFM0Ki5mgywqIRjz4,1521
|
31
31
|
lavavu/html/emscripten-template.js,sha256=h63mzl3Lv7aQT1wMOiOucPOvHTJjpKkzsL-SFVYaZlA,6135
|
32
32
|
lavavu/html/draw.js,sha256=57LlHlYRh0IvWVwzGDnF6PaCxYLzokpokLNCuZlG1ds,84108
|
33
33
|
lavavu/html/dat-gui-light-theme.css,sha256=uPhvJs-1IAsdxudItyOw8lZy8Hrih0zmFM1u-xRwZ-M,1142
|
34
34
|
lavavu/html/menu.js,sha256=WCli3UYcQ7frjNq0aAXNALu33iNiN8lpTYwKZ7pUcn4,21501
|
35
35
|
lavavu/html/baseviewer.js,sha256=u3UhC1At6rMBKmcQ7d2DXTRxQ20wsQkc4lqA-7sL7i4,9567
|
36
|
-
lavavu/
|
37
|
-
lavavu/
|
38
|
-
lavavu/shaders/
|
39
|
-
lavavu/shaders/
|
40
|
-
lavavu/shaders/
|
41
|
-
lavavu/shaders/
|
42
|
-
lavavu/shaders/triShader.
|
43
|
-
lavavu/shaders/
|
36
|
+
lavavu/osmesa/LavaVuPython.py,sha256=ixhceiAr0gGGfCe3d2cY0IIgS4hbgoYJGa_RfgAmmrU,33207
|
37
|
+
lavavu/osmesa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
38
|
+
lavavu/shaders/volumeShader.frag,sha256=Ajkpt0S2p0PpbQ2jygDnrymSgPMU2CG5xQT-dq2rr90,14194
|
39
|
+
lavavu/shaders/pointShader.vert,sha256=mDMF4wAPvHELXT5rXN_QZFezxvK4q50Mdm-qZZJ7FYI,1160
|
40
|
+
lavavu/shaders/lineShader.frag,sha256=2PQBMcb149jVKnsBhTvU1vf94x91O0kAdOBTSs8OpGY,888
|
41
|
+
lavavu/shaders/fontShader.frag,sha256=clgomy2lu-1u7w0GwFd0BNU_L3-SkYt8zv03N5ciJug,351
|
42
|
+
lavavu/shaders/triShader.frag,sha256=SkPatq2s7Osa5o7U3lg-7We8ldY0oHZHCLuQjRY4Vgk,4601
|
43
|
+
lavavu/shaders/default.vert,sha256=3xKybexF39UGsESMLQQcqHlE1MgLCDEXUMLz4sr5blQ,352
|
44
|
+
lavavu/shaders/triShader.vert,sha256=H7rTS-WO5QiT9uP1ClhufQM8minSWknJ9UvKAEVnzRU,1078
|
45
|
+
lavavu/shaders/lineShader.vert,sha256=5HDJMphXW438yMc0I2NtBdnvF6uXrOUac9hjk3S7mfk,501
|
44
46
|
lavavu/shaders/fontShader.vert,sha256=yCBmRugaPUeUQUdIh62-AK_5KELiJqVS2M82iyIqPwo,290
|
45
|
-
lavavu/shaders/pointShader.frag,sha256=
|
47
|
+
lavavu/shaders/pointShader.frag,sha256=3zREBdsimlL9fAXBPjhzomGaFUWmlG_QYkhwMTVURHQ,3291
|
46
48
|
lavavu/shaders/volumeShader.vert,sha256=uGdQjGqi7V5kE6V7nxymfugtU4cbf6u570xBy13RgmY,78
|
47
|
-
lavavu/shaders/default.frag,sha256=
|
48
|
-
lavavu-1.
|
49
|
-
lavavu-1.
|
50
|
-
lavavu-1.
|
51
|
-
lavavu-1.
|
52
|
-
lavavu-1.
|
53
|
-
lavavu-1.
|
49
|
+
lavavu/shaders/default.frag,sha256=5XLYVfLwzN0sFT3aMYGmxbyquA_cmndp55YCOuy1t4E,180
|
50
|
+
lavavu-1.9.0.dist-info/LICENSE.md,sha256=EhfNgC6BYh5gDEaq4tcrN3S0wbO4CtJO46botJnCF8c,8603
|
51
|
+
lavavu-1.9.0.dist-info/RECORD,,
|
52
|
+
lavavu-1.9.0.dist-info/WHEEL,sha256=NW1RskY9zow1Y68W-gXg0oZyBRAugI1JHywIzAIai5o,109
|
53
|
+
lavavu-1.9.0.dist-info/entry_points.txt,sha256=LC2qXR6EMe45Cb7zGAF99R9HFrAECP6Qkp_YuG6HZB0,44
|
54
|
+
lavavu-1.9.0.dist-info/top_level.txt,sha256=JptS0k1nlBumjLs_0hITr3_XUJhxqvKBXD2jGho3E3A,7
|
55
|
+
lavavu-1.9.0.dist-info/METADATA,sha256=yZSA74LHPQhIIUvqPUS3b9DhXpvQ3MLvl8lDLmENqS8,18267
|
File without changes
|
File without changes
|
File without changes
|