Skip to content

Commit b8f5559

Browse files
Updated visualisation examples.
1 parent 5208713 commit b8f5559

16 files changed

+899218
-31
lines changed

data/data_handling.ipynb

+16-14
Original file line numberDiff line numberDiff line change
@@ -386,18 +386,12 @@
386386
},
387387
{
388388
"cell_type": "code",
389-
"execution_count": 20,
390-
"metadata": {
391-
"collapsed": true,
392-
"jupyter": {
393-
"outputs_hidden": true
394-
}
395-
},
389+
"execution_count": 4,
390+
"metadata": {},
396391
"outputs": [],
397392
"source": [
398393
"import matplotlib.pyplot as plt\n",
399-
"import scipy as sp\n",
400-
"import scipy.misc as spm"
394+
"import imageio"
401395
]
402396
},
403397
{
@@ -409,7 +403,7 @@
409403
},
410404
{
411405
"cell_type": "code",
412-
"execution_count": 21,
406+
"execution_count": 5,
413407
"metadata": {},
414408
"outputs": [
415409
{
@@ -421,7 +415,7 @@
421415
}
422416
],
423417
"source": [
424-
"mos_image = spm.imread('MOS6581.png')\n",
418+
"mos_image = imageio.imread('MOS6581.png')\n",
425419
"print(mos_image.shape, mos_image.dtype)"
426420
]
427421
},
@@ -434,9 +428,17 @@
434428
},
435429
{
436430
"cell_type": "code",
437-
"execution_count": null,
431+
"execution_count": 6,
438432
"metadata": {},
439-
"outputs": [],
433+
"outputs": [
434+
{
435+
"name": "stdout",
436+
"output_type": "stream",
437+
"text": [
438+
"MOS6581.raw\n"
439+
]
440+
}
441+
],
440442
"source": [
441443
"mos_image.tofile('MOS6581.raw')\n",
442444
"%ls MOS6581.raw"
@@ -586,7 +588,7 @@
586588
"name": "python",
587589
"nbconvert_exporter": "python",
588590
"pygments_lexer": "ipython3",
589-
"version": "3.7.6"
591+
"version": "3.7.4"
590592
}
591593
},
592594
"nbformat": 4,

dataviz/PyVTK.ipynb

+153-17
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,8 @@
4141
},
4242
{
4343
"cell_type": "code",
44-
"execution_count": 15,
45-
"metadata": {
46-
"collapsed": true
47-
},
44+
"execution_count": 1,
45+
"metadata": {},
4846
"outputs": [],
4947
"source": [
5048
"from pyvtk import *\n",
@@ -84,7 +82,10 @@
8482
"cell_type": "code",
8583
"execution_count": 17,
8684
"metadata": {
87-
"collapsed": true
85+
"collapsed": true,
86+
"jupyter": {
87+
"outputs_hidden": true
88+
}
8889
},
8990
"outputs": [],
9091
"source": [
@@ -110,7 +111,10 @@
110111
"cell_type": "code",
111112
"execution_count": 19,
112113
"metadata": {
113-
"collapsed": true
114+
"collapsed": true,
115+
"jupyter": {
116+
"outputs_hidden": true
117+
}
114118
},
115119
"outputs": [],
116120
"source": [
@@ -130,7 +134,10 @@
130134
"cell_type": "code",
131135
"execution_count": 20,
132136
"metadata": {
133-
"collapsed": true
137+
"collapsed": true,
138+
"jupyter": {
139+
"outputs_hidden": true
140+
}
134141
},
135142
"outputs": [],
136143
"source": [
@@ -148,7 +155,10 @@
148155
"cell_type": "code",
149156
"execution_count": 21,
150157
"metadata": {
151-
"collapsed": true
158+
"collapsed": true,
159+
"jupyter": {
160+
"outputs_hidden": true
161+
}
152162
},
153163
"outputs": [],
154164
"source": [
@@ -175,7 +185,10 @@
175185
"cell_type": "code",
176186
"execution_count": 22,
177187
"metadata": {
178-
"collapsed": true
188+
"collapsed": true,
189+
"jupyter": {
190+
"outputs_hidden": true
191+
}
179192
},
180193
"outputs": [],
181194
"source": [
@@ -227,7 +240,10 @@
227240
"cell_type": "code",
228241
"execution_count": 19,
229242
"metadata": {
230-
"collapsed": true
243+
"collapsed": true,
244+
"jupyter": {
245+
"outputs_hidden": true
246+
}
231247
},
232248
"outputs": [],
233249
"source": [
@@ -247,7 +263,10 @@
247263
"cell_type": "code",
248264
"execution_count": 20,
249265
"metadata": {
250-
"collapsed": true
266+
"collapsed": true,
267+
"jupyter": {
268+
"outputs_hidden": true
269+
}
251270
},
252271
"outputs": [],
253272
"source": [
@@ -277,7 +296,10 @@
277296
"cell_type": "code",
278297
"execution_count": 23,
279298
"metadata": {
280-
"collapsed": true
299+
"collapsed": true,
300+
"jupyter": {
301+
"outputs_hidden": true
302+
}
281303
},
282304
"outputs": [],
283305
"source": [
@@ -313,12 +335,126 @@
313335
"vtk.tofile('example3')"
314336
]
315337
},
338+
{
339+
"cell_type": "code",
340+
"execution_count": 3,
341+
"metadata": {},
342+
"outputs": [
343+
{
344+
"name": "stdout",
345+
"output_type": "stream",
346+
"text": [
347+
"(299520, 6)\n"
348+
]
349+
}
350+
],
351+
"source": [
352+
"import numpy as np\n",
353+
"\n",
354+
"uvw_arr = np.loadtxt('uvw.dat', skiprows=2)\n",
355+
"print(uvw_arr.shape)"
356+
]
357+
},
358+
{
359+
"cell_type": "code",
360+
"execution_count": 4,
361+
"metadata": {},
362+
"outputs": [
363+
{
364+
"name": "stdout",
365+
"output_type": "stream",
366+
"text": [
367+
"variables=\"x\",\"y\",\"z\",\"u\",\"v\",\"w\"\n",
368+
"zone i=96,j=65,k=48,f=point\n",
369+
"0 -1 0 -7.00895e-05 2.28715e-05 7.11905e-05\n",
370+
"0.0327249 -1 0 -8.01278e-05 1.89072e-05 4.83821e-05\n",
371+
"0.0654498 -1 0 -6.8715e-05 8.60358e-06 -1.31806e-06\n",
372+
"0.0981748 -1 0 -3.79768e-05 -4.03025e-06 -5.09628e-05\n",
373+
"0.1309 -1 0 -8.62436e-06 -1.93002e-05 -9.18307e-05\n",
374+
"0.163625 -1 0 5.18301e-06 -2.96726e-05 -8.77444e-05\n",
375+
"0.19635 -1 0 3.97951e-06 -2.64684e-05 -4.38229e-05\n",
376+
"0.229074 -1 0 -8.44003e-06 -1.01639e-05 -7.55249e-06\n"
377+
]
378+
}
379+
],
380+
"source": [
381+
"!head uvw.dat"
382+
]
383+
},
384+
{
385+
"cell_type": "code",
386+
"execution_count": 5,
387+
"metadata": {},
388+
"outputs": [],
389+
"source": [
390+
"points = uvw_arr[:,0:3]"
391+
]
392+
},
393+
{
394+
"cell_type": "code",
395+
"execution_count": 6,
396+
"metadata": {},
397+
"outputs": [
398+
{
399+
"name": "stdout",
400+
"output_type": "stream",
401+
"text": [
402+
"(299520, 3)\n"
403+
]
404+
}
405+
],
406+
"source": [
407+
"print(points.shape)"
408+
]
409+
},
410+
{
411+
"cell_type": "code",
412+
"execution_count": 7,
413+
"metadata": {},
414+
"outputs": [],
415+
"source": [
416+
"point_data = uvw_arr[:,3:6]"
417+
]
418+
},
419+
{
420+
"cell_type": "code",
421+
"execution_count": 8,
422+
"metadata": {},
423+
"outputs": [
424+
{
425+
"name": "stdout",
426+
"output_type": "stream",
427+
"text": [
428+
"(299520, 3)\n"
429+
]
430+
}
431+
],
432+
"source": [
433+
"print(point_data.shape)"
434+
]
435+
},
436+
{
437+
"cell_type": "code",
438+
"execution_count": 9,
439+
"metadata": {},
440+
"outputs": [],
441+
"source": [
442+
"vtk = VtkData(UnstructuredGrid(point_data), PointData(Vectors(point_data)))"
443+
]
444+
},
445+
{
446+
"cell_type": "code",
447+
"execution_count": 10,
448+
"metadata": {},
449+
"outputs": [],
450+
"source": [
451+
"vtk.tofile(\"uvw.vtk\")"
452+
]
453+
},
316454
{
317455
"cell_type": "code",
318456
"execution_count": null,
319-
"metadata": {
320-
"collapsed": true
321-
},
457+
"metadata": {},
322458
"outputs": [],
323459
"source": []
324460
}
@@ -339,9 +475,9 @@
339475
"name": "python",
340476
"nbconvert_exporter": "python",
341477
"pygments_lexer": "ipython3",
342-
"version": "3.6.1"
478+
"version": "3.7.4"
343479
}
344480
},
345481
"nbformat": 4,
346-
"nbformat_minor": 2
482+
"nbformat_minor": 4
347483
}

dataviz/ex1.py

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
Created on Wed Jun 7 14:58:44 2017
4+
5+
@author: Jonas Lindemann
6+
"""
7+
8+
import numpy as np
9+
import pyvtk as vtk
10+
11+
print("Reading from uvw.dat...")
12+
xyzuvw = np.loadtxt('uvw.dat', skiprows=2)
13+
14+
print("Converting to points and vectors")
15+
points = xyzuvw[:, 0:3].tolist()
16+
vectors = xyzuvw[:, 3:].tolist()
17+
18+
pointdata = vtk.PointData(vtk.Vectors(vectors, name="vec1"), vtk.Vectors(vectors, name="vec2"))
19+
data = vtk.VtkData(vtk.StructuredGrid([96, 65, 48], points), pointdata)
20+
data.tofile('uvw','ascii')
21+

dataviz/ex2.py

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# -*- coding: utf-8 -*-
2+
"""
3+
Created on Thu Jun 8 12:03:31 2017
4+
5+
@author: Jonas Lindemann
6+
"""
7+
import numpy as np
8+
import matplotlib.pyplot as plt
9+
import pyvtk as vtk
10+
import os
11+
12+
f = open("colorado_elev.vit", "rb") # reopen the file
13+
f.seek(268, os.SEEK_SET) # seek
14+
15+
x = np.fromfile(f, dtype=np.ubyte) # read the data into numpy
16+
17+
elevation = np.reshape(x, (400,400))
18+
plt.imshow(elevation)
19+
20+
plt.show()
21+
22+
pointdata = vtk.PointData(vtk.Scalars(x))
23+
data = vtk.VtkData(vtk.StructuredPoints([400,400]), pointdata)
24+
data.tofile('elevation','ascii')
25+

0 commit comments

Comments
 (0)