Smoothe Visualisierung/ Marching Cube Algorithmus

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
g123
User
Beiträge: 25
Registriert: Donnerstag 11. Januar 2018, 15:36

Hallo Leute,
Habe eine Punktwolke, die ich zurzeit in Mayavi visualisiere, meine Daten sind in einem 3D Numpy Array gespeichert.
Jetzt würde ich gerne eine Smoothere Darstellung haben, ich habe jetzt schon rausgefunden, dass es den marching cube Algorithmus dafür gibt. Hat jemand Erfahrungen damit in Python ? Gibt es eine Lib, die mir weiter helfen könnte? Oder gibt es die Funktion vielleicht bei Mayavi??


Hier mal eine meiner Darstellungen:
Bild

Und so soll es aussehen:
Bild
g123
User
Beiträge: 25
Registriert: Donnerstag 11. Januar 2018, 15:36

Hey Leute habe mittlerweile die sickt-image Bibliothek entdeckt, Visualisierung funktioniert auch mit folgendem code:

Code: Alles auswählen

verts, faces, normals, values = measure.marching_cubes_lewiner(VoxelGrid, 0.0)
mlab.triangular_mesh([vert[0] for vert in verts], [vert[1] for vert in verts], [vert[2] for vert in verts], faces)
Jedoch weiß ich nicht ganz wie ich z.B. nur die Werte aus meinem Numpy zeigen kann, die z.B. größer als 1000 sind. Mit np.where bekomme ich nur die Indizes, jedoch braucht measure.marching_cubes_lewiner einen 3D Array als Input. Hat einer ne Idee?

Code: Alles auswählen

FilteredVoxel = voxelGrid2[voxelGrid2 > 105000]


funktioniert auch nicht.
g123
User
Beiträge: 25
Registriert: Donnerstag 11. Januar 2018, 15:36

Beitrag kann geschlossen werden : Vielen Dank !
Antworten